刚学的快速幂,做了道基础题(hdu1061)。 公式:a^b%c=(a%c)^b%c 思想:将b转化为二进制状态。b/2相当于二进制数右移。
int N,n;
int quickpow(
int a,
int b,
int mod){
//二进制模拟乘
int ans =
1;
for( ; b>
0; b/=
2){
if(b
%2){
ans
*= a;
ans
%= mod;
}
a = a
*a%mod;
}
return ans;
}
int main()
{
scanf(
"%d",&N);
while(N--)
{
scanf(
"%d",&n);
printf(
"%d\n",quickpow(n,n,
10));
}
}
转载请注明原文地址: https://ju.6miu.com/read-971348.html