鱼C论坛

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

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

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

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

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

x

                               
登录/注册后可看大图


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

不许看答案,否则打屁屁





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

找出两百万以下所有质数的和。       


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

Snip20170611_152.png






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

使用道具 举报

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

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

  9. 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 | 显示全部楼层
  1. window.onload = function(){
  2.                                 function is_zz(num){
  3.                                         for(var i = 2; i <= Math.sqrt(num);i++){
  4.                                                 if(num % i == 0){
  5.                                                         return false;
  6.                                                 }
  7.                                         }
  8.                                         return true;
  9.                                 }
  10.                                
  11.                                
  12.                                 var num = 0;
  13.                                
  14.                                 for(var i = 1;  i < 2000000;i++){
  15.                                         if(is_zz(i)){
  16.                                                 num += i;
  17.                                         }
  18.                                 }
  19.                                
  20.                                 document.write(num);
  21.                                  
  22.                         };
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2020-4-18 23:33:16 | 显示全部楼层


  1. def is_prime(orign):
  2.       i=2
  3.       while i<=(orign//2):
  4.             if orign%i == 0:
  5.                   return False
  6.             else:
  7.                   i+=1
  8.       return True

  9. def get_prime():
  10.       orign = 2
  11.       while True:
  12.             if is_prime(orign):
  13.                   yield orign
  14.             orign += 1

  15. def sum_prime(require):
  16.       sum_number = 0
  17.       for each in get_prime():
  18.             if each <= require:
  19.                   sum_number+=each
  20.             else:
  21.                   print(sum_number)
  22.                   break
  23.                   
复制代码

能改进算法吗?我的Python算了很久
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

  2. def is_prime(orign):
  3.       i=2
  4.       while i<=math.sqrt(orign):
  5.             if orign%i == 0:
  6.                   return False
  7.             else:
  8.                   i+=1
  9.       return True

  10. def get_prime():
  11.       orign = 2
  12.       while True:
  13.             if is_prime(orign):
  14.                   yield orign
  15.             orign += 1

  16. def sum_prime(require):
  17.       sum_number = 0
  18.       for each in get_prime():
  19.             if each <= require:
  20.                   sum_number+=each
  21.             else:
  22.                   print(sum_number)
  23.                   break
  24.                   
复制代码

我找到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 07:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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