📅  最后修改于: 2023-12-03 15:10:02.166000             🧑  作者: Mango
素数是指只能被 1 和自身整除的正整数。下面是一个 Python 代码片段,可以打印所有小于或等于 N 的素数。
def print_primes(N):
"""
打印所有小于或等于 N 的素数。
"""
primes = []
for num in range(2, N+1):
for i in range(2, num):
if (num % i) == 0:
break
else:
primes.append(num)
# 打印所有素数
for prime in primes:
print(prime)
这个代码片段包含一个函数 print_primes(N)
,它的参数 N
是我们要找的最大素数。函数内部使用了两个 for 循环来查找素数。
首先,我们定义了一个空列表 primes
,用于保存找到的素数。然后,一个外部循环从 2 开始,一直迭代到 N。这是因为 1 不是素数。
内部的 for 循环检查从 2 到当前数字 (num) 的所有数字。如果当前数字在这个范围内有其他因子,那么我们可以肯定当前数字是不是素数。在这种情况下,我们退出内部循环并继续外部循环。
否则,在内部循环结束时,我们得到一个当前数字 (num) 是素数的证据。我们将其添加到 primes
列表中。
最后,我们打印出所有的素数。
我们来看一个使用示例:
>>> print_primes(10)
2
3
5
7
这将打印出 10 以内的所有素数:2、3、5 和 7。
这个代码片段演示了如何在 Python 中查找素数。虽然此代码片段对于小的 N 值(小于 10,000)可以很快运行,但对于较大的 N 值(例如,1,000,000),计算时间将非常长。因此,在生产中你需要思考更好的算法。