C & C++

[C언어/C++] n제곱, n제곱근 구하기 방법 : pow() 함수

jimmy_AI 2022. 7. 6. 22:54
반응형

C언어, C++의 pow 함수 사용법 예제

C언어와 C++에서 n제곱, n제곱근 형태를 나타낼 수 있는 pow 함수의 사용 방법에

대하여 정리해보도록 하겠습니다.

 

참고로, pow 함수를 사용하기 위해서는

C언어에서는 <math.h>, C++에서는 <cmath> 헤더 파일을 포함시켜 주어야 합니다.

 

 

n제곱 표현

pow(밑, 지수) 형태로 n제곱의 값을 반환받을 수 있습니다.

여기서 결과는 기본적으로 double 자료형으로 반환됨에 유의해주세요.

#include <stdio.h>
#include <math.h>
 
int main() 
{   
    printf("%.2f\n", pow(2, 3)); // 2의 3제곱 -> 8.00

    printf("%.4f\n", pow(0.5, 4)); // 0.5의 4제곱 -> 0.0625

    printf("%.2f\n", pow(-1, 5)); // -1의 5제곱 -> -1.00

    printf("%.2f\n", pow(4, -1)); // 4의 -1제곱 -> 0.25
}

 

반응형

 

n제곱근 표현

pow 함수의 지수 부분에 1.0/n과 같은 형태의 input을 넣어 n제곱근도 표현이 가능합니다.

(주의 : 1.0/n, 1/n.0, 1.0/n.0 모두 가능하지만 1/n으로 넣어주시면 int형 나눗셈이 진행되어

n이 1보다 크다면 1/n은 0이 되어 0제곱 결과인 1이 반환됩니다.)

다만, 결과가 허수인 경우는 -nan 등의 형태로 반환하게 된다는 점에 유의해주세요.

#include <stdio.h>
#include <math.h>
 
int main() 
{   
    printf("%.2f\n", pow(9, 1.0/2)); // 9의 제곱근 -> 3.00

    printf("%.2f\n", pow(8, 1.0/3)); // 8의 3제곱근 -> 2.00

    printf("%.4f\n", pow(5, 1.0/4)); // 5의 4제곱근 -> 1.4953

    printf("%.4f\n", pow(-1, 1.0/2)); // 1의 제곱근 -> -nan
}

 

 

기타 실수 제곱 나타내기

이 외에도 pow 함수의 지수 부분에 2.5, -3.14과 같이 자유롭게 실수 값을 넣어

원하는 제곱 형태의 값을 반환받는 것이 가능합니다.

#include <stdio.h>
#include <math.h>
 
int main() 
{   
    printf("%.4f\n", pow(1.3, 2.5)); // 1.3의 2.5제곱 -> 1.9269

    printf("%.4f\n", pow(1.1, -3.14)); // 1.1의 -3.14제곱 -> 0.7414

    printf("%.4f\n", pow(-1.5, 2.8)); // -1.5의 2.8제곱 -> -nan
}