24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 1737  |  回复: 12
本帖产生 2 个 程序强帖 ,点击这里进行查看

微尘、梦想

木虫 (知名作家)

[交流] Project Euler 50 欧拉工程 50 题已有6人参与

素数41能够被写成6个连续素数的和:
                41 = 2 + 3 + 5 + 7 + 11 + 13
这是100以下,能被表示成若干个连续素数相加的素数中项数最多的一个。
1000以下,能被表示成若干个连续素数加和而成的素数中项数最多的一个是953,共有21项。
问:100万以下的素数中,能被若干个连续素数相加得到,并且项数最多的一个是多少?

原题:
引用回帖:
The prime 41, can be written as the sum of six consecutive primes:

41 = 2 + 3 + 5 + 7 + 11 + 13
This is the longest sum of consecutive primes that adds to a prime below one-hundred.

The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953.

Which prime, below one-million, can be written as the sum of the most consecutive primes?

呵呵……闲着没事,我也贴一个,看看大家还有没有热情……

[ Last edited by 微尘、梦想 on 2012-2-17 at 22:28 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

任风云变幻,我笑对人生!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有2个 )

wangww2011

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+3, 程序强帖+1): 把算法也贴一下吧,这样大家交流起来也方便,呵呵…… 2012-02-20 07:59:57
貌似以前做过,不过忘了。
继续python中,但是python的官网居然都被墙了是不是?幸好*unix/mac都预装的有python,win7不清楚,xp是肯定没有了,据说win8预装。
结果
CODE:
997651

代码
CODE:
#!/usr/bin/env python

def generate_primes(n):
    isprimes=[True]*n
    for i in range(2,n):
        if isprimes[i]:
            for j in range(2*i,n,i):
                isprimes[j] = False
    primes=[i for i in range(3,n,2) if isprimes[i]]
    primes.insert(0,2)
    return primes


def euler50(num):
    p=generate_primes(num)
    max_n=1
    while sum(p[:max_n])         max_n+=1
   
    for i in range(max_n,2,-1):
        for j in range(len(p)-i):
            tmp=sum(p[j:j+i])
            if tmp>num:break
            if tmp in p:
                return tmp
        
if __name__ == "__main__":
    print euler50(1000000)

[ Last edited by wangww2011 on 2012-2-20 at 03:45 ]
3楼2012-02-20 03:43:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 鼓励交流! 2012-02-25 04:40:50
大家过完年啦,哈哈,又有空玩了
matlab code
CODE:
% Elapsed time is 0.083633 seconds.
% ans =
%       997651
function result = euler50()
tic;
result = 0;
maxLen = 0;

ap = primes(1e6);

sumlist = cumsum(ap);
sumlist(sumlist>=1e6) = [];

maxLen = 21;
for i=1:length(sumlist)
    for j=i+maxLen:length(sumlist)
        temp = sumlist(j)-sumlist(i);
        if isprime(temp) && (j-i)>maxLen
            maxLen = j-i;
            result = temp;
        end
    end
end
toc;
end

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
11楼2012-02-22 00:11:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lijie169

铜虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+1): 围观奖励,还是等牛人吧,呵呵…… 2012-02-19 07:31:43
楼主也做这个么?我还有好多不会做呢?!想请教下?
2楼2012-02-18 18:13:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
听说python效率比C++差不多慢个100倍。。。哈哈
很女子很弓虽大
4楼2012-02-20 17:26:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流! 2012-02-25 04:40:17
引用回帖:
4楼: Originally posted by lurencyj at 2012-02-20 17:26:22:
听说python效率比C++差不多慢个100倍。。。哈哈

这位同学看样子是被严重误导了,且不说有just-in-time这种技术和很多高新能的函数库,就是全用python也没有很慢啊,况且很多时候是可以用优秀算法提高速度的,你当然会说C也可以用同样的算法啊,是的,但是python用起来更简单不是。别忘了,你的时间永远比cpu时间更珍贵。。。
5楼2012-02-20 21:02:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
5楼: Originally posted by wangww2011 at 2012-02-20 21:02:01:
这位同学看样子是被严重误导了,且不说有just-in-time这种技术和很多高新能的函数库,就是全用python也没有很慢啊,况且很多时候是可以用优秀算法提高速度的,你当然会说C也可以用同样的算法啊,是的,但是pytho ...

如果碰到高强度的科研计算呢?

Python的排名2012年二月比2011年二月降低了4位噢,从第4到了第8。

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
很女子很弓虽大
6楼2012-02-20 21:04:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流! 2012-02-25 04:40:27
如果不是高强度的浮点计算,那python还行。只是很多科研的,都是浮点数计算,而且超级计算机的效率比较大多都是以浮点数计算能力来比较的。

这边是一个网友的DIY测试(C++ vs Python): http://obmem.info/?p=507
很女子很弓虽大
7楼2012-02-20 21:07:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
5楼: Originally posted by wangww2011 at 2012-02-20 21:02:01:
这位同学看样子是被严重误导了,且不说有just-in-time这种技术和很多高新能的函数库,就是全用python也没有很慢啊,况且很多时候是可以用优秀算法提高速度的,你当然会说C也可以用同样的算法啊,是的,但是pytho ...

使用算法提高速度固然可以,对于高强度的计算问题,同样的算法和数据结构,python可以说绝对绝对赶不上C++噢。

我并不是说python这东西不应该存在,我也很喜欢用python。但也绝对不会用它来做要计算量很大,耗时很久的计算工作。
很女子很弓虽大
8楼2012-02-20 21:13:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tieer

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
呵呵,没想到这个又开始有玩的了啊,其实Python确实是有些优势的,尤其是对业余的非专业人士,上手容易,程序的可读性也较好,
思考,让这个世界更有趣。
9楼2012-02-21 22:34:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
9楼: Originally posted by tieer at 2012-02-21 22:34:04:
呵呵,没想到这个又开始有玩的了啊,其实Python确实是有些优势的,尤其是对业余的非专业人士,上手容易,程序的可读性也较好,

对业余的非专业人士?

这个也不是啦,python和java一起可是google开发的主要编程语言啊。呵呵!~
很女子很弓虽大
10楼2012-02-21 22:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 微尘、梦想 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见