0
点赞
收藏
分享

微信扫一扫

蓝桥杯试题算法训练之Torry的困惑(基本型)——Python满分解答


Torry的困惑基本型

  • ​​问题描述​​
  • ​​输入格式​​
  • ​​样例输入​​
  • ​​输出格式​​
  • ​​样例输出​​
  • ​​解题思路​​
  • ​​代码实现​​

问题描述

Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。

输入格式

仅包含一个正整数n,其中n<=100000。

样例输入

1

输出格式

输出一行,即前n个质数的乘积模50000的值。

样例输出

2

解题思路

质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。

首先是找到前n个质数,注意!不是n以内的质数!

如果是求n以内的质数,我们可以用for循环,但是要找到前n个质数,问题就在于我们不知道第n个质数的值是多少,所以这里需要用到while循环。

下面开始编写代码。

代码实现

def getPrime(n): # 找到前n个质数
lists = []
count = 0
number = 2
while count != n:
for i in range(2, number):
if(number % i == 0):
break
else:
lists.append(number)
count += 1
number += 1
return lists

def main():
n = int(input())
lists = getPrime(n)
result = lists[0]
for item in lists[1:]:
result *= item
print(result % 50000) # 取模运算

main()

蓝桥杯试题算法训练之Torry的困惑(基本型)——Python满分解答_算法


举报

相关推荐

0 条评论