请用Python编写一个程序求解素数
以下是一个 Python 程序,用于寻找给定范围内的所有素数:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def find_primes(start, end):
primes = []
for n in range(start, end + 1):
if is_prime(n):
primes.append(n)
return primes
start = int(input("请输入起始数:"))
end = int(input("请输入结束数:"))
print("素数列表:", find_primes(start, end))
该程序首先定义了一个函数 is_prime(n),用于检查一个数是否为素数。如果一个数小于 2,它不是素数。否则,它被从 2 开始递增的整数除,如果有一个数能被整除,则它不是素数。如果没有数能被整除,则它是素数。
接下来,程序定义了另一个函数 find_primes(start, end),用于在给定范围内寻找所有素数。该函数遍历从 start 到 end 的所有整数,并使用 is_prime(n) 函数检查每个整数是否为素数。如果是素数,它将被添加到一个列表中。
最后,程序提示用户输入起始数和结束数,并输出在该范围内找到的素数列表。
需要注意的是,对于非常大的数,该程序可能需要很长时间来运行。为了提高效率,可以使用更高级的算法,例如 Sieve of Eratosthenes。
原文地址: https://www.cveoy.top/t/topic/bss5 著作权归作者所有。请勿转载和采集!