基准时间限制:1 秒 空间限制:131072 KB
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
思路:
快速幂瞬秒。
代码:
#include <iostream>
#include <cstdio>
using namespace std;
long long myPow(long long t,long long N){
long long mid = 1;
while(N){
if(N&1){
mid *= t;
mid %= 10;
}
t *= t;
t %= 10;
N >>= 1;
}
return mid;
}
int main(){
long long N;
cin>>N;
long long t = N%10;
cout<<myPow(t,N)<<endl;
return 0;
}