给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
方法:快速幂,n的n次方对10取模。
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int pow(int a,int b,int c)
{
int ans=1;
a=a%c;
while(b>0)
{
if(b%2==1)
ans=(ans*a)%c;
b/=2;
a=(a*a)%c;
}
return ans;
}
int main()
{
int n,sum;
while(scanf("%d",&n)!=EOF)
{
sum=pow(n,n,10);
printf("%d\n",sum);
}
return 0;
}