#include<stdio.h>
int quickpow(int a,int b) {
int ans=1,base=a%10;//此处%10
while(b) {
if(b&1) {
ans=ans*base%10;
}
base=base*base%10;
b>>=1;
}
return ans;
}
int main() {
int T;
scanf("%d",&T);
while(T--) {
__int64 n;
scanf("%d",&n);
printf("%d\n",quickpow(n,n));
}
return 0;
}

本文介绍了一个使用C语言实现的快速幂运算算法。该算法通过位操作进行优化,能够高效地计算出a的b次方模10的结果。适用于解决如HDU 1061等算法竞赛中的大数幂运算问题。
321

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



