用筛选法求500之内的所有素数,并打印输出所有的素数,

用筛选法求500之内的所有素数,并打印输出所有的素数,每行输出5个素数

答案
max_num = 500
# 初始化筛子,True代表是素数
is_prime = [True] * (max_num + 1)
is_prime[0] = is_prime[1] = False

for i in range(2, int(max_num**0.5) + 1):
    if is_prime[i]:
        # i的倍数全部标记为非素数
        for j in range(i*i, max_num+1, i):
            is_prime[j] = False

count = 0
for num in range(2, max_num+1):
    if is_prime[num]:
        print(num, end="\t")
        count += 1
        if count % 5 == 0:
            print()  # 满5个换行

题目信息

题号:8141
题型:简答题
知识点:Python
难度:普通