给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input 一个数N(1 <= N <= 10^9) Output 输出N^N的末位数字 Sample Input
using namespace std;
typedef long long llong;
int ans;
int pow_mod(llong a, llong k, llong c){
ans = 1%c;
while(k){
if(k % 2 == 1)ans = ans * a%c;
k = k / 2;
a = a*a%c;
}
return ans;
}
int main(){
llong a;
scanf("%lld", &a);
int y = pow_mod(a, a, 10);
printf("%d\n", y);
return 0;
}
Input 一个数N(1 <= N <= 10^9) Output 输出N^N的末位数字 Sample Input
13Sample Output
3
using namespace std;
typedef long long llong;
int ans;
int pow_mod(llong a, llong k, llong c){
ans = 1%c;
while(k){
if(k % 2 == 1)ans = ans * a%c;
k = k / 2;
a = a*a%c;
}
return ans;
}
int main(){
llong a;
scanf("%lld", &a);
int y = pow_mod(a, a, 10);
printf("%d\n", y);
return 0;
}