用C将一个整数求幂最有效的方法是什么?
// 2^3
pow(2,3) == 8
// 5^5
pow(5,5) == 3125
用C将一个整数求幂最有效的方法是什么?
// 2^3
pow(2,3) == 8
// 5^5
pow(5,5) == 3125
平方求幂.
int ipow(int base, int exp)
{
int result = 1;
for (;;)
{
if (exp & 1)
result *= base;
exp >>= 1;
if (!exp)
break;
base *= base;
}
return result;
}
这是在非对称密码术中对大数进行模幂运算的标准方法.