妙先生


私信TA

用户名:uq_57083779177

访问量:26519

签 名:

妙啊!

等  级
排  名 225
经  验 6249
参赛次数 0
文章发表 73
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
    公式 ab mod n =(a mod n )(b mod n)mod n,这个公式可以优化运算速度,必直接ab mod n要快。

注意事项:
    python做这道题必须要优化素数的判断否则必超时。
参考代码:

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)


 

0.0分

2 人评分

  评论区

  • «
  • »