分析给出N的尾数,从1-9乘N次发现都是循环的
0 0 0 0 0 0...
1 1 1 1 1 1...
2 4 8 6 2 4...
3 9 7 1 3 9...
4 6 4 6 4 6...
5 5 5 5 5 5...
6 6 6 6 6 6...
7 9 3 1 7 9...
8 4 2 6 8 4...
9 1 9 1 9 1...
所以看做四组一循环,只需要对给出的N对4取余即可。
#include<cstdio>
int main(){
long x,t,m,n;
scanf("%ld",&t);
while(t--){
scanf("%ld",&n);
x=n%10;
m=n;
while(m>=4){
m=m%4;
}
if(m==1) printf("%ld\n",x);
if(m==2) printf("%ld\n",x*x%10);
if(m==3) printf("%ld\n",x*x*x%10);
if(m==0) printf("%ld\n",x*x*x*x%10);
}
return 0;
}