Python 判断素数函数及输出小于等于用户输入的素数
Python 判断素数函数及输出小于等于用户输入的素数
本文提供一个 Python 函数 isPrime(n) 用于判断一个数字 n 是否为素数。此外,还会展示如何使用该函数在一行内输出小于等于用户输入的正整数的所有素数,每个素数之间用空格分隔。
函数接口定义:
def isPrime(n):
# 请在此处填写函数内容
裁判测试程序样例:
num = int(input()) #接收用户输入并转成整数
for i in range(num+1):
if isPrime(i):
print(i,end=' ') #在同一行内输出结果,不换行,中间用空格分隔
输入样例:
100
输出样例:
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
函数实现:
def isPrime(n):
if n == 1:
return False
for i in range(2, int(n**(0.5))+1):
if n % i == 0:
return False
return True
num = int(input())
for i in range(num+1):
if isPrime(i):
print(i, end=' ')
解释:
- 函数
isPrime(n)通过循环遍历从 2 到n的平方根的整数,检查n是否能被这些数整除。如果能整除,则n不是素数,返回False;否则,n是素数,返回True。 - 主程序部分接收用户输入的正整数
num,然后使用循环遍历从 0 到num的所有整数,并使用isPrime函数判断每个数是否是素数。如果是,则将该数输出,并在同一行内用空格分隔。
代码优化:
- 在
isPrime函数中,循环遍历的范围可以缩小到n的平方根,因为如果n有大于n的平方根的因子,则它也必然有一个小于n的平方根的因子。 - 在主程序部分,使用
end=' '在print函数中控制输出格式,使得每个素数之间用空格分隔,而不是换行。
总结:
本文提供了一个 Python 函数 isPrime(n),并展示了如何使用该函数在一行内输出小于等于用户输入的正整数的所有素数。该函数使用了循环遍历和取模运算来判断一个数是否为素数,并使用了 end=' ' 来控制输出格式,使得输出结果符合要求。
原文地址: https://www.cveoy.top/t/topic/osld 著作权归作者所有。请勿转载和采集!