【复习】快速幂取模
啊嘞,复习快速幂……
(ab)mod c=(a mod c)(b mod c)mod c
引理有点没转过弯来……
位运算真tm快
代码
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define ll long long 5 using namespace std; 6 int pow1(int,int,int); 7 int main() 8 { 9 int n; 10 cin>>n; 11 while(n--) 12 { 13 int a; 14 scanf("%d",&a); 15 printf("%d\n",pow1(a,a,10)); 16 } 17 18 } 19 int pow1(int x,int y,int z) 20 { 21 ll base,ans=1; 22 x%=z; 23 while(y!=0) 24 { 25 if(y&1) ans=ans*x%z; 26 x=x*x%z; 27 y>>=1; 28 } 29 return ans%z; 30 }