#include<iostream>
using namespace std;
int pow(int a);
int main()
{int i,j,k,m,n;
cin>>k;
while(k--)
{cin>>n;
cout<<pow(n)%10<<endl;
}
return 0;
}
int pow(int a)
{int base=a%10;
int r=1;
int b=a;
while(b!=0)
{
if(b&1)r=(r*base)%10;
base=(base*base)%10;
b>>=1;
}
return r;
}
其中base=a%10;是因为底只要保存最后一位就行,因为蜜的最后一位由底数最后一位决定,
之所以用快速幂求模是因为结果太大,反正求模没影响
杭电 快速幂
最新推荐文章于 2020-10-13 21:32:03 发布