对我这种初学者来说,很有意思的题目。
我是这样一步一步分析的。
首先,这个问题是对一个集合求和,而这个集合的元素是质数。
再进一步,要对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
很有意思!