计算1-10000之间的质数

计算1-10000之间的质数

问题:求解1-10000之间的质数

1.质数与合数:质数是只有1和它本身两个因数;合数是除了1和它本身之外还有别的因数,即因数个数大于等于3个的数。

2.本次的求解过程类似套娃,利用两次循环遍历。我看了网上的好多文章,都是效率较低的求解过程,今天那年那棵树为大家带来了优化后的求解过程。

3.大家仔细阅读的话,会发现那棵树用到了一个break来打破循环,没错的,这就是代码优化的关键,当他的因子个数大于等于3个的时候就可以判断他一定不是一个质数,立即跳出循环,可以不必做后面的无用功。(关注那年那棵树给你带来别样的惊喜!!!)
代码演示:

# 创建一个列表用存放放质数
list1 = []
# 进行for遍历循环(1, 10000)
for i in range(1, 10001):
    count = 0   # 初始化 一个数值为0, 用来统计可以整除的个数, 大于2就不是质数, 反之则为质数
    for m in range(1, i+1):     # 从1到它本身进行二次遍历除法
        if (i % m) == 0:        
            count += 1
            if count == 3:
                break
    if count == 2:
        list1.append(i)  # 数组添加
print(list1)
print('1-10000之间的质数个数为:', len(list1))

图片演示
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_47481604/article/details/115441631