1、快速幂取模,水题。
2、记得数据范围大小,开long long。
3、直接在函数里%10取最后一位,无需增加参变。
#include<cstdio>
#include<iostream>
using namespace std;
using LL=long long;
LL quickpow(LL a,LL b) { //快速幂取模
LL ans=1;
a=a%10;
while(b!=0) {
if(b&1) ans=(ans*a)%10;
b>>=1;
a=(a*a)%10;
}
return ans;
}
int main()
{
LL n;
int t;
cin>>t;
while(t--) {
cin>>n;
cout<<quickpow(n,n)<<endl;
}
return 0;
}
本文介绍了一种解决快速幂取模问题的高效算法,并通过一个具体的编程实例演示了其应用。文章强调了数据类型的选择(如使用long long类型)以避免溢出,以及如何直接在函数中进行模10操作以获取结果的最后一位数,无需额外参数。此外,代码实现了快速幂取模函数,用于计算任意数的幂次方模10的结果。
627

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



