이 문제에서는 두 개의 정수 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
이 프로그램은 거듭제곱을 반으로 나눈 다음 두 절반을 곱하는 효율적인 접근 방식을 보여주고 부정적인 경우도 고려합니다.