代码仓库==
我绝对不会承认之前我会只写递归版的==
int fast_pow(int a, int k) {
int ans = 1;
while(k) {
if(k&1)
ans = ans*a;
a = a*a;
k >>= 1;
}
return ans;
}
本文介绍了一种高效计算整数幂次方的方法——快速幂算法。该算法通过位运算实现,能够在对数时间内完成计算,避免了传统递归方法可能带来的栈溢出问题。文中提供了快速幂算法的具体实现代码。
代码仓库==
我绝对不会承认之前我会只写递归版的==
int fast_pow(int a, int k) {
int ans = 1;
while(k) {
if(k&1)
ans = ans*a;
a = a*a;
k >>= 1;
}
return ans;
}
1819
1229
547

被折叠的 条评论
为什么被折叠?