Description
T^T这个很像一个流泪的表情是不是!其实,它是T的T次方啦~。
当T比较大的时候T^T会非常大,现在只要你求这个数的个位就可以啦!
Input
输入包括多组测试数据,每个测试数据只有一个数字T(0<T<2^31)。
Output
请输出T^T的个位数。
Sample Input 1
1
2
3
105
Sample Output 1
1
4
7
5
python思路
找规律的做法
- 因为只求个位数,乘积的个位的取值只与两个相乘数的个位有关。
- 然后又知道个位的取值有规律,几个数为一个循环。所以可以用一个列表来记录下这个循环。
- 最后可以求t对于列表(即循环)长度的余数,余数减一即为所求个位数在列表中对应的索引值。
- 最后注意因为是多组数据,所以要以EOF结尾。
try:
while 1:
t=int(input())
a=1
l=[]
b=int(str(t)[-1])
for i in range(t):
a=int(str(b*a)[-1])
if a in l:
print(l[t%len(l)-1])
break
elif i==t-1:
print(a)
else:
l.append(a)
except EOFError:
pass