이 문제에서는 두 개의 정수 x와 n이 주어집니다. 우리의 임무는 pow(x,n)를 계산하는 프로그램을 작성하는 것입니다.
문제를 이해하기 위해 예를 들어보겠습니다.
입력
x = 5 , n = 3
출력
125
pow(x,n),
를 계산하는 프로그램예시
#include <iostream>
using namespace std;
float myPow(float x, int y) {
if(y == 0)
return 1;
float temp = myPow(x, y / 2);
if (y % 2 == 0)
return temp*temp;
else {
if(y > 0)
return x*temp*temp;
else
return (temp*temp)/x;
}
}
int main() {
float x = 5;
int n = 7;
cout<<x<<" raised to the power "<<n<<" is "<<myPow(x, n);
return 0;
} 출력
5 raised to the power 7 is 78125
이 프로그램은 거듭제곱을 반으로 나눈 다음 두 절반을 곱하는 효율적인 접근 방식을 보여주고 부정적인 경우도 고려합니다.