习题解析之:输出 n 以内的所有素数
【问题描述】
编程找出n以内(即小于等于n)的所有素数。
输入格式
输入一个正整数
输出格式
在同一行中从小到大依次输出不大于n的全部素数,每个数字后面一个空格。
示例
输入:
97
输出:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
【编程思路】
判断一个整数 m 是否为素数的方法是:小于 2 的整数肯定不是素数(最小的素数是 2)。对于大于或等于 2 的整数,用2~sqrt(m)中的每一个整数 i 去除 m ,若某一个 i 能被 m 整除,则 m 不是素数;否则,m 是素数。该操作可定义为一个函数,如下:
def isprime(m):if m < 2:return Falsefor i in range(2,int(m ** 0.5) + 1):if m % i == 0:return Falsereturn True
要找出 n 以内(即小于等于 n)的所有素数,用循环 for i in range(2,n + 1): 对 2 ~ n 这个范围的整数进行穷举,若某个整数 i 是素数,则输出它。
编写的源程序如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/963575.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!