题目描述
解题思路
该题不难只是要优化算法防止超过时间限制
1.找素数只在开方里找,而且只在奇数里找。(上一篇博客写得有)
2.然后取模公式公式
ab mod n =(a mod n )(b mod n)mod n,这个公式可以优化运算速度,必直接ab mod n要快。
代码
import math
n = int(input())
i,pro = 2,1
"""判断素数优化"""
def judge(i):
if i%2 == 0:
return i==2
if i%3 == 0:
return i==3
if i%5 == 0:
return i==5
if i%7 == 0:
return i==7
for j in range(11,int(math.sqrt(i)+1),2):
if i%j == 0:
return False
return True
while n>0:
if judge(i):
pro = (pro%50000)*(i%50000)%50000
n -= 1
i += 1
print(pro)