快速幂
快速计算一个数的高次方幂
将幂用2进制分解
21 = (10101)2
9^21 = 9^(10000) + 9^100 + 9^1
#include <stdio.h>
#include <stdlib.h>
int pow_mod(int a,int k){
int ans = 1;
while(k){
if(k % 2) ans*=a;
a *= a;
k /= 2;
}
return ans;
}
int main()
{
int a,k;
scanf("%d%d",&a,&k);
printf("%d\n",pow_mod(a,k));
return 0;
}

本文介绍了一种高效计算大指数幂的方法——快速幂算法,并通过C语言实现了一个简单的快速幂函数。该算法通过将指数转换为二进制形式来降低计算复杂度。
20万+

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



