n^n的末位数字
对数值的位数有要求考虑取余,一位就对10取余,两位就100,这样快速幂解决
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
ll quick(ll a,ll b){
ll ans=1;
while(b){
if(b&1)
ans=ans*a%10;
a=a*a%10;
b>>=1;
}
return ans;
}
int main(){
ll n;
while(~scanf("%lld",&n)){
cout<<quick(n,n)<<endl;
}
return 0;
}