n^n的末位数字
发布时间: 2016年6月26日 20:36 最后更新: 2016年6月26日 20:40 时间限制: 1000ms 内存限制: 128M
描述
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
输入
一个整数T,代表输入数据组数。接下来T行每行一个整数N(1 <= N <= 10^9)。
输出
输出N^N的末位数字
样例输入1 复制
1
13
样例输出1
3
解题思路:
只考虑((n%)^n)%10,就可以了,那么每个数他的n次幂都是一个循环长度最大为4的循环数列,打表就可以了.
当然这个题快速幂也可以过.
AC代码
#include<stdio.h>
int temp[10][4] = {
{0,0,0,0},
{1,1,1,1},
{6,2,4,8},
{1,3,9,7},
{6,4,6,4},
{5,5,5,5},
{6,6,6,6},
{1,7,9,3},
{6,8,4,2},
{1,9,1,9}
};
int main()
{
int loop;
scanf("%d",&loop);
while(loop--)
{
int n;
scanf("%d",&n);
printf("%d\n",temp[n][n%4]);
}
return 0;
}