鱼C论坛

 找回密码
 立即注册
查看: 2837|回复: 9

[每日一练] 算法39 ◉‿◉ 计算两百万以下所有质数的和

[复制链接]
发表于 2017-6-12 05:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

                               
登录/注册后可看大图


按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁





程序分析:
10 以下的质数的和是 2 + 3 + 5 + 7 = 17。

找出两百万以下所有质数的和。        [/b]


源代码:
游客,如果您要查看本帖隐藏内容请回复

Snip20170611_152.png






如果喜欢,请订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-13 10:02:50 | 显示全部楼层
用python算还是比较慢。
list1 = [2, 3]

for num in range(5, 2000000, 2):
    for i in list1:
        if num % i == 0:
            break
        if num < i * i:
            list1.append(num)
            break

print(sum(list1))

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-6-13 10:34
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-5 14:29:51 | 显示全部楼层
什么是质数?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-12 08:53:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-17 05:31:04 | 显示全部楼层
window.onload = function(){
                                function is_zz(num){
                                        for(var i = 2; i <= Math.sqrt(num);i++){
                                                if(num % i == 0){
                                                        return false;
                                                }
                                        }
                                        return true;
                                }
                                
                                
                                var num = 0;
                                
                                for(var i = 1;  i < 2000000;i++){
                                        if(is_zz(i)){
                                                num += i;
                                        }
                                }
                                
                                document.write(num);
                                 
                        };
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 14:26:14 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-18 23:33:16 | 显示全部楼层
def is_prime(orign):
      i=2
      while i<=(orign//2):
            if orign%i == 0:
                  return False
            else:
                  i+=1
      return True

def get_prime():
      orign = 2
      while True:
            if is_prime(orign):
                  yield orign
            orign += 1

def sum_prime(require):
      sum_number = 0
      for each in get_prime():
            if each <= require:
                  sum_number+=each
            else:
                  print(sum_number)
                  break
                  
能改进算法吗?我的Python算了很久
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 23:47:04 | 显示全部楼层
霓虹巨人 发表于 2020-4-18 23:33
能改进算法吗?我的Python算了很久
import math

def is_prime(orign):
      i=2
      while i<=math.sqrt(orign):
            if orign%i == 0:
                  return False
            else:
                  i+=1
      return True

def get_prime():
      orign = 2
      while True:
            if is_prime(orign):
                  yield orign
            orign += 1

def sum_prime(require):
      sum_number = 0
      for each in get_prime():
            if each <= require:
                  sum_number+=each
            else:
                  print(sum_number)
                  break
                  
我找到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-23 21:14:32 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 07:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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