给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input一个数N(1 <= N <= 10^9)Output输出N^N的末位数字Sample Input13Sample Output
3
#include <stdio.h>
#include <stdlib.h>
long long pow_mod(long long a,long long k)
{
long long ans = 1;
while(k)
{
if(k%2)
ans *= a;
a = a*a%10;
k /= 2;
ans %= 10;
}
return ans;
}
int main()
{
long long a,k;
scanf("%lld",&a);
k = a;
a %= 10;
printf("%lld\n",pow_mod(a,k));
return 0;
}