找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3458|回复: 3

[已解决] 怎样写一段计算n以内素数和的代码

4

主题

8

帖子

8

积分

贫民

积分
8
Hello,World 发表于 2017-3-18 16:08:30 | 显示全部楼层 |阅读模式
本帖最后由 Hello,World 于 2017-3-22 14:26 编辑

num=int(input('n:'))
a=list(range(2,num))
for i in a:
        for k in range(1,i):
                if i%k==0:
                        a.remove(i)

sum(a)

自己写的不知道出了什么问题
回复

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-3-18 19:29:00 | 显示全部楼层
改为:
  1. num=int(input('n:'))
  2. a=list(range(2,num+1))
  3. b=list(a)

  4. for i in a:
  5.     for k in range(2,i):
  6.         if i%k==0:
  7.             b.remove(i)
  8.             break

  9. print(sum(b))
复制代码

python3.4.4, win10
回复 支持 1 反对 0

使用道具 举报

4

主题

8

帖子

8

积分

贫民

积分
8
Hello,World  楼主| 发表于 2017-3-22 14:18:49 | 显示全部楼层

给的是包括n的版本。
谢谢大侠!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
航海夜心 发表于 2017-3-23 23:33:13 | 显示全部楼层
def is_prime(x):
        for i in range(2,x):
                if x % i != 0:
                        pass
                else:
                        return False
        return True

def have_prime_list(x):
        list1 = []
        for i in range(2,x):
                if is_prime(i) == True:
                        list1.append(i)
        return sum(list1)

print(have_prime_list(20000))#----21171191
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表