解题思路:本体采用的取模公式为a*b%c=((a%c)*(b%c))%c,求前n个质数的积对于50000的模,就相当于每一次与质数相乘后对于50000取模,然后再与下一个质数相乘,再取模,相乘取模的步骤替换为上述公式右边的步骤,这样简化了计算过程的复杂度,python也能跑出来结果
注意事项:注意是前n个质数,而不是前n个数中的质数
参考代码:
def panduan(A):
if A%2==0:
return A==2
if A%3==0:
return A==3
if A%5==0:
return A==5
if A%7==0:
return A==7
for i in range(11,int(A**0.5)+1,2):
if A%i==0:
return False
return True
a=int(input())
b=1
i=2
while a>0:
if panduan(i):
b=((b%50000)*(i%50000))%50000
a-=1
i+=1
print(b)
0.0分
1 人评分
C语言考试练习题_一元二次方程 (C语言代码)浏览:650 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:1367 |
C二级辅导-同因查找 (C语言代码)浏览:554 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:530 |
C语言训练-求函数值 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:676 |
C语言训练-数字母 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1143 |
【偶数求和】 (C语言代码)浏览:556 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |