题意:
求N^N的最右位数字
快速幂解决
#include<cstdio> #include<algorithm> using namespace std; int main() { int total; scanf("%d",&total); while(total--) { int n; scanf("%d",&n); int m=n;//n^m int ans=1; n%=10; while(m) { if(m&1)//m为奇数 { ans*=n; ans%=10; } m>>=1; n*=n; n%=10; } printf("%d\n",ans%10); } return 0; }