计算100以内的质数和

对我这种初学者来说,很有意思的题目。

我是这样一步一步分析的。

首先,这个问题是对一个集合求和,而这个集合的元素是质数。

再进一步,要对1-100这些数据,逐一判别,是否是质数;如果是,则放入这个集合。

好的,对于1-100中任意的一个数value,如何判别value是否为质数呢?

根据质数的定义,除了1和自身,没有别的除数。

即,拿value去跟2,3,4……(value-1),逐一求模。如果每一次计算后,余数都不为0,则value为质数。

根据上述分析,可以转化为代码:

prime_number = []
#质数的列表,先定义为空集
for value in range(2,101):
    value_pm = []
    for k in range(2,value):
        if value%k == 0:
            value_pm.append(k)
    if len(value_pm) == 0:
        prime_number.append(value)

print(prime_number)
print(sum(prime_number))

最终输出结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
1060

很有意思!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值