编程找出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
平均代码量 20 行
def is_prime(n):
"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False。减小判定区间,减少循环次数,提升效率"""
if n==1 or n==0: return False
if n==2: return True
for i in range(2,n):
if n % i ==0:
return False
return True
def output_prime(number):
"""接收一个正整数为参数,遍历从0到number之间的所有整数
在一行中输出不大于number的所有素数,每个数字后一个空格,函数无返回值。"""
for i in range(0,number+1):
if is_prime(i):
print(i,end=" ")
positive_int = int(input())
output_prime(positive_int)