编码挑战:求一千万自然数中质数和

2016-02-24 22:25:54 +08:00
 SlipStupig

语言只能用 python ,求一千万自然数总质数总和,速度最快的有奖励哦

5382 次点击
所在节点    Python
35 条回复
linux40
2016-02-25 10:21:13 +08:00
。。。这个问题难道不是在常数时间么。。。
mulog
2016-02-25 10:35:08 +08:00
太不严谨了吧 连个范围都没有。
「任意自然数中质数和」?你能把所有自然数中的质数都找出来吗?
目前已知最大质数是 2^74207281 ,有那个本事先找出个更大的上上新闻联播再说。。
odirus
2016-02-25 10:39:44 +08:00
我觉得如果要比赛,至少你要先确定范围撒,还要有相同的运行环境撒。。。我去哪里找 "i7 4700MQ 4core 4gb 内存 ddr3 1600" 这种环境?
slixurd
2016-02-25 11:13:46 +08:00
https://leetcode.com/problems/count-primes/
你们可以试试在 leetcode 上做下,虽然题目不完全一样。
如果你的答案能比 90%以上的人快,才说明你做得好,如果用它 hint 的方法或者暴力求解,速度不会快的。
Hello1995
2016-02-25 12:07:26 +08:00
@mulog 2^74207281 显然不是素数。
mulog
2016-02-25 12:21:49 +08:00
@Hello1995
哈哈哈哈 对
2^74207281 - 1
JayXon
2016-02-25 12:37:37 +08:00
@slixurd 那个题 test case 太简单,根本比不出什么,我的代码跑出来是 0 ms
slixurd
2016-02-25 13:36:47 +08:00
@JayXon 啊对,那的 testcase 太弱
话说你该不会是做 Thunder JayXon 版的那个 JayXon 吧
msg7086
2016-02-25 13:48:48 +08:00
@SlipStupig 题目都没出明白还要人做么。
别说乱取一千万个数,我就取这一千万个数的个位和十位,连在一起组成一个两千万位的数,你要跑多久?
已知 22 楼那个大数有 2234 万位,拿 i7 不间断跑了 31 天。
来吧,不管你代码优秀不优秀,都可以放出来,我们来看看半年能不能跑完?
Xs0ul
2016-02-25 13:50:01 +08:00
@mulog 你说的那是最大的梅森素数,并不是最大的素数
mulog
2016-02-25 14:19:56 +08:00
@Xs0ul
咦 google 出来几个源都说是这个数 那请问现在已知最大的素数是多少?
Xs0ul
2016-02-25 17:18:24 +08:00
@mulog 我建议你搜下“梅森素数”
brbrarts
2016-02-26 12:55:48 +08:00
@Xs0ul 2^74207281-1 是最大的梅森素数,同时也是最大的已知素数

我觉得梅森素数另外还有一个优势,就是表达很简洁。 2^74207281-1 写出来有两千多万位,假设有一个更大的素数,并且他不能用这种简洁的方式表现出来,那你怎么告诉别人这个数是多少呢?在贴子里贴两千多万位数字么。。。
JayXon
2016-02-26 16:20:20 +08:00
@slixurd 是啊
slixurd
2016-02-26 18:15:05 +08:00
@JayXon 遇到大神了
记得三四年前基本上都是用你迅雷修改版的
直到后来上了 Linux.....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/258901

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX