递归求pow(x,n)
long pow_rec(long x, long n){
if(1==n)
return x;
if(n&1)
return pow_rec(pow_rec(x,n/2),2) * x;
else
return pow_rec(pow_rec(x,n/2),2);
}
运行会出现段错误,求解释!
[解决办法]
long pow_rec(long x,long n)
{
if(n == 0) return 1;
long t = pow_rec(x*x, n/2);
return n&1 ? t*x : t;
}
[解决办法]
这算法用递归效率太差了,基本是废柴
这是典型的 Fast Exponentiation 算法
[解决办法]
刚才看到你的,学习了