算法
幂运算
计算 X^N (X 的 N 次方) 的常见算法是使用 N - 1 次乘法自乘。
这里的递归算法更好。
代码
/*
幂运算
计算 X^N (X 的 N 次方) 的常见算法是使用 N - 1 次乘法自乘。
这里的递归算法更好。
*/
#include <iostream>
using namespace std;
long int Pow( long int X, unsigned int N );
int IsEven(int N);
int main() {
int X, N;
cin >> X >> N;
cout << Pow(X, N) << '\n';
return 0;
}
long int Pow( long int X, unsigned int N ) {
if ( N == 0 ) return 1;
if ( N == 1 ) return X;
if ( IsEven( N ) )
return Pow ( X * X, N / 2 );
else
return Pow ( X * X, N / 2) * X;
}
int IsEven(int N) {
return !(N % 2);
}