在Python中生成小于n的素数列表
假设我们有一个数字n,我们必须生成一个所有升序小于或等于n的质数的列表。我们必须记住1不是质数。
因此,如果输入类似于12,则输出将为[2、3、5、7、11]。
为了解决这个问题,我们将遵循以下步骤-
筛子:=大小为n+1的列表,并用True填充
素数:=一个新列表,最初为空白
对于2到n范围内的i
在素数末尾插入i
对于范围i至n的j,在每一步中更新i,执行
筛[j]:=假
如果sieve[i]为True,则
返回素数
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, n):
sieve = [True] * (n + 1)
primes = []
for i in range(2, n + 1):
if sieve[i]:
primes.append(i)
for j in range(i, n + 1, i):
sieve[j] = False
return primes
ob = Solution()print(ob.solve(12))输入值
12
输出结果
[2, 3, 5, 7, 11]
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短