python 100~200的素数和

答案代码

# 素数求和,因为sum是关键字,所以起名为sum1
sum1=0
# range(a,b) 代表范围 a~b-1( 画重点,范围必须对b减1)
# 所以range(100,201)代表100~200(包含100和200)
# for i in range(100,201)代表 i 在 100~200中变化,
# range默认步长为1,而且我们没有设置步长,所以 i 取值为 100、101、102......200
for i in range(100,201):
	# 这一行 j 取值范围为 2~i-1 ,作为除数
    for j in range(2,i):
    	# i除以j,%代表取余数
    	# 当等于0时,证明存在j能整除i,i不是素数
    	# break代表退出 for j in range(2,i):
    	# 因为我只要存在一个 j 可以整除 i,就证明 i 不是素数,
    	# 所以不需要继续寻找因子,所以退出
        if i%j==0:
            break
     # 这里确保 i = j+1,是因为如果 i=j+1
     # 就说明i 已经寻找了 2~i-1的所有数,没有他的因子
    if i==j+1:
    	# 迭代求和
        sum1=sum1+i
print(sum1)

验证代码:

sum1=0
sushu=[]
for i in range(100,201):
    for j in range(2,i):
        if i%j==0:
            break
    if i==j+1:
        sum1=sum1+i
        sushu.append(i)
print(sum1)
print(sushu)
sum2=0
for i in sushu:
    sum2=sum2+i
print(sum2)

结果:
result

posted @ 2019-05-29 18:38  爱做梦的子浩  阅读(1205)  评论(0编辑  收藏  举报