📅  最后修改于: 2023-12-03 15:23:04.304000             🧑  作者: Mango
该题要求编写一个 Python 程序,根据输入的数字 n,输出从 0 到 n 的所有素数。
一个数是素数,当且仅当它只能被 1 和它自身整除。因此,我们可以通过试除法找出所有素数,具体步骤如下:
def find_primes(n: int) -> List[int]:
"""
找出从 0 到 n 的所有素数
Args:
n: 需要查找的范围
Returns:
List[int]: 从 0 到 n 的所有素数
"""
primes = list(range(2, n+1)) # 将 2 到 n-1 存储在列表中
i = 0
while i < len(primes):
num = primes[i]
i += 1
for j in range(i, len(primes)):
if primes[j] % num == 0:
primes.pop(j)
return primes
assert find_primes(10) == [2, 3, 5, 7]
assert find_primes(20) == [2, 3, 5, 7, 11, 13, 17, 19]
通过以上程序及测试,我们可以得出从 0 到给定数字 n 的所有素数。