给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
题解
我们仅取末尾数值然后快速幂即可
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a=n%10;
int ans=1;
while(n){
if(n&1) ans=ans*a%10;
a=a*a%10;
n>>=1;
}
printf("%d\n",ans);
return 0;
}