题目:
连续质数计算描述补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。注意:用户输入的数字N可能是浮点数,都是正数;最后一个输出后不用逗号。
输入输出示例:
测试题,最终时间耗尽没做出来。开始想的是算出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小时内删除,不允许用于商业用途,否则法律问题自行承担。