用递归去求解,跟矩阵的幂运算是一回事。
long int Pow( long int x , unsigned int N )
{
if(N==0){
return 1; //递归出口
}
if(IsEven(N)){ //判断N是不是偶数
return Pow(x*x,N/2);
}
else{
return Pow(x,N-1)*x;//如果是奇次幂,就等于比其小一次的偶次幂乘上 x ,如 x^3 = x^2 *x
}
}
例如求解 x ^ 9,