这个题目要求n的n次方的最后一个数字,其实最后一个数字只与n的最后一个数字和多少次方有关系,由于N的值很大,所以不能直接相乘,会超时。应该采用二进制乘法。C++代码:
#include<stdio.h>
int main(){
int T,n;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
int res=1;int tmp=n%10;
while(n){
if(n&1){
res=(tmp*res)%10;
}
tmp=(tmp*tmp)%10;
n=n>>1;
}
printf("%d\n",res);
}
return 0;
}