欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求质数的两种方法

程序员文章站 2024-03-15 12:19:23
...
#普通版本
def is_prime_1(num):
    if num < 2:
        return False
    if num == 2:
        return True
    for i in range(2,num):
        if num % i == 0:
            return False
    return True

#筛选法
N = 100
is_prime_2=[True] * (N+1)
is_prime_2[0]=False
is_prime_2[1]=False
for i in range(2,N+1):
    if is_prime_2[i]:
        print(i)
        for j in range(2*i,N+1,i):
            is_prime_2[j]=False

筛法的主要思想是把当前数字的倍数排除,数组里为false的元素直接pass掉