费马小定理(Fermat’s little theorem)是数论中的一个重要定理,在1636年提出。如果p是一个质数,而整数a不是p的倍数,则有a^(p-1)≡1(mod p)。
快速幂超时
k = 998244353
def fpow(a, b):
ans = 1
while b > 0:
if b % 2 == 1:
ans = ans * a % k
b //= 2
a = a * a % k
return ans
if __name__ == '__main__':
n = int(input())
if n % 2 == 0:
print(fpow(6, n // 2))
else:
print(fpow(6, n // 2) * 4 % k)
费马小定理
这道题给出的那个取余的数是质数
mod = 998244353
def fpow(a, b):
res = 1
while b > 0:
if b % 2:
res = res * a % mod
a = a * a % mod
b //= 2
return res
if __name__ == '__main__':
n = int(input())
ans = 1
if n % 2:
ans = 4
n //= 2
n %= (mod-1) # 直接根据费马小定理把n缩小
ans = ans * fpow(6, n) % mod
print(ans)