描述:
给定一个整数N,您应该输出N^N的最右边的数字。
输入:
输入包含几个测试用例。输入的第一行是单个整数T,他是测试用例的数量。随后是T测试用例。每个测试用例都包含一个正整数N(1<=N<=1000000000)。
输出:
对于每个测试用例,您应该输出N^N最右边的数字。
#include<stdio.h>
int pow(int a, int b)
{
long long sum = 1;
a = a % 10;
while (b > 0) {
if (b % 2 == 1)
sum = (sum * a) % 10;
b /= 2;
a = (a * a) % 10;
}
return sum;
}
int main()
{
int n,m;
scanf("%d",&m);
while (m--)
{
scanf("%d",&n);
printf("%d\n",pow(n%10,n));
}
return 0;
}