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=' ' 来控制输出格式,使得输出结果符合要求。

Python 判断素数函数及输出小于等于用户输入的素数

原文地址: https://www.cveoy.top/t/topic/osld 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录