本题可以找规律,但这里采用欧拉降幂的做法:
欧拉降幂的前置知识是欧拉函数
简单来说欧拉降幂其实就是一个公式
表示同余,表示p的欧拉函数
大数交给Python
def phi(x): if x == 10: return 4 if x == 4: return 2 if x == 2: return 1 if x == 1: return 1 def cal(a, n, mod): if (mod == 1): return 1 if n == 1: return a % mod + mod return pow(a, cal(a, n - 1, phi(mod)), mod) + mod a = int(input()) n = int(input()) if (n == 1): print(a % 10) else: print(pow(a, cal(a, n - 1, phi(10)), 10))
下面这种做法则是直接找出循环节
a = int(input()) n = int(input()) if (n == 1): print(a % 10) # n==1 直接输出个位数 elif (n == 2): print(pow(a % 10, a, 10)) # n==2 直接快速幂算 else: e = pow(a % 4, a % 2 + 2, 4) print(pow(a % 10, e + 4, 10))