求N的N次方的个位数. N(0
9
3 2 3 4
4 7 6
提示:运用数论 1-10的1-9次幂个位数:
数字 1 [1 1 1 1 1 1 1 1 1]
数字 2 [2 4 8 6 2 4 8 6 2]
数字 3 [3 9 7 1 3 9 7 1 3]
数字 4 [4 6 4 6 4 6 4 6 4]
数字 5 [5 5 5 5 5 5 5 5 5]
数字 6 [6 6 6 6 6 6 6 6 6]
数字 7 [7 9 3 1 7 9 3 1 7]
数字 8 [8 4 2 6 8 4 2 6 8]
数字 9 [9 1 9 1 9 1 9 1 9]
数字10 [ 0 0 0 0 0 0 0 0 0]规律:四个一循环
#include
#include
int main()
{
long long n,num;
scanf("%lld",&n);
for(int i=0;i<n;i++)
{
scanf("%lld",&num);
long long count=num,sum;
count=num%4; //将指数按四个一循环取余
if(count==0) count=4; //如果等于能出尽,则等于4
num%=10; //将底数只取个位进行运算
sum=pow(num,count);
printf("%lld\n",sum%10); //取个位数输出
}
return 0;
}