题目描述
给定一个整数N,求出N^N(N的N次方)的最后一位
输入
输入包含T组样例
每一组输入一个整数N N(1<=N<=1,000,000,000)
输出
对于每一组样例输出N^N最后一位
样例输入
2
3
4
样例输出
7
6
参考代码
#include<stdio.h>
int pow2(int a)
{
int r=1,b=a;
a=a%10;
while(b!=0)
{
if(b%2)
r=(r*a)%10;
a=(a*a)%10;
b=b/2;
}
return r;
}
int main()
{
int n,i,a;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&a);
printf("%dn",pow2(a));
}
return 0;
}
解析
暂无