Python连续质数计算,计算并输出从N开始的5个质数

题目:

连续质数计算描述补充编程模板中代码,完成如下功能:

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬注意:用户输入的数字N可能是浮点数,都是正数;最后一个输出后不用逗号。

输入输出示例:
Python连续质数计算,计算并输出从N开始的5个质数

测试题,最终时间耗尽没做出来。开始想的是算出n之后的质数,然后取数前5个质数,其实这就陷入了一个数学思维的死胡同,计算思维不能这么思考,这题没做出来完全没有理解计算思维和改变自己的思维方式。

我首先应该判断输入的任意数字之后的一个数字是不是质数,是就打印,不是就继续判断,直到有5个质数了就结束。

def prime(m):  #定义一个质数的判断函数
  for i in range(2,m):
    if m % i == 0:
      return False
    return True

n = eval(input())
n_ = int(n)         #向下取整
n_ = n_+1 if n_ < n else n_   #当n_<n,n_ = n_ + 1,否则是本身的值,也就是说当n是浮点数时向上取整 
count = 5    #定义一个计数器,要找5个数

while count > 0:     #循环,当还有数质数没找到时
  if prime(n_):  ##判断是不是质数,是就打印出来,并且不换行
    if count > 1:   ###当质数质数不是最后一个的时候,格式化在末尾加逗号,当是最后一个的时候不用加
      print(n_, end=",")
    else:
      print(n_, end="")
    count -= 1   ##计数器倒数,直到找到5个数
  n_ += 1   ##n_后的数依次判断

 

本文作者:𝙕𝙆𝘾𝙊𝙄

文章名称:Python连续质数计算,计算并输出从N开始的5个质数

文章链接:https://www.zkcoi.com/365up/program/233.html

本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
𝙕𝙆𝘾𝙊𝙄𝙕𝙆𝘾𝙊𝙄
上一篇 2019年4月12日 下午4:59
下一篇 2019年4月18日 下午5:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

私聊博主

立即联系
一般有空就回复

qrcode_web

微信扫码联系我

分享本页
返回顶部