这真的是我被颜表情皮的最惨的一次。。。没有之一。。。
描述:
T^T这个很像一个流泪的表情是不是!其实,它是T的T次方啦~。
当T比较大的时候T^T会非常大,现在只要你求这个数的个位就可以啦。
输入:
输入包括多组测试数据,每个测试数据只有一个数字T(0<T<2^31)
输出:
请输出T^T的个位数。
样例输入:
1
2
3
105
样例输出:
1
4
7
5
分析:
a^b%10是其个位数,当a==b的时候就是这道题的情况
这道题我是找规律做的,嗯就是这样。(因为数据估计会很大,所以还是动动脑子吧)
规律如下:当n=0,1,5,6,9时,输出本身
当n=4时,输出6
当n=2时,个位数按照2,4,8,6的规律来
当n=3时,个位数按照3,9,7,1的规律来
当n=7时,个位数按照7,9,3,1的规律来
当n=8时,个位数按照8,4,2,6的规律来(计算器是个好东西TvT,或者直接写个程序吧)
其实4和9的时候应该是有两种情况,分别是4,6和1,9(分为奇数和偶数的情况)。但是由于a=b,所以只有6和9.
代码如下:
python
try:
while 1:
n=input()
m=n[len(n)-1]
k=int(n)
if m=='0':
print('0')
if m=='1':
print('1')
if m=='5':
print('5')
if m=='6':
print('6')
if m=='9':
print('9')
if m=='2':
l1=[2,4,8,6]
print(l1[(k-1)%4])
if m=='3':
l2=[3,9,7,1]
print(l2[(k-1)%4])
if m=='7':
l3=[7,9,3,1]
print(l3[(k-1)%4])
if m=='8':
l4=[8,4,2,6]
print(l4[(k-1)%4])
if m=='4':
print('6')
except EOFError:
pass
c
#include<stdio.h>
int main()
{
int n,m;
int l1[4]={2,4,8,6};
int l2[4]={3,9,7,1};
int l3[4]={7,9,3,1};
int l4[4]={8,4,2,6};
while(scanf("%d",&n)!=EOF)
{
m=n%10;
if (m==0||m==1||m==5||m==6||m==9)
printf("%d\n",m);
if (m==2)
printf("%d\n",l1[(n-1)%4]);
if (m==3)
printf("%d\n",l2[(n-1)%4]);
if (m==7)
printf("%d\n",l3[(n-1)%4]);
if (m==8)
printf("%d\n",l4[(n-1)%4]);
if (m==4)
printf("6\n");
}
return 0;
}
暴力不解释TvT