24小时热门版块排行榜    

查看: 1567  |  回复: 7
本帖产生 4 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangww2011

木虫 (著名写手)

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

好久没有人发了,我来接着发吧
三角数,五角数和六角数可以用下面的公式产生:

三角数                 Tn=n(n+1)/2                 1, 3, 6, 10, 15, ...
五角数                 Pn=n(3n-1)/2                 1, 5, 12, 22, 35, ...
六角数l                 Hn=n(2n-1)                 1, 6, 15, 28, 45, ...
可以证实 T285 = P165 = H143 = 40755.

请找到下一个同时是五角数和六角数的三角数。

PS 虽然没有什么意思,但是为了连续性,还是逐个发吧
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎讨论 2011-09-02 19:57:09
ben_ladeng: 2011-09-02 22:50:55
余泽成(程序强帖+1): 2011-09-04 23:38:45
matlab code ,暴力解
CODE:
%% Find the next triangle number that is also pentagonal and hexagonal.
% It can be verified that T285 = P165 = H143 = 40755.
% Triangle                   Tn=n(n+1)/2
% Pentagonal                   Pn=n(3n?1)/2
% Hexagonal                   Hn=n(2n?1)
% Elapsed time is 0.095221 seconds.
% ans =
%                 1533776805
function result = euler45()
tic;
n = 1000;
t = (1:n).*((1:n)+1)/2;
p = (1:n).*(3*(1:n)-1)/2;
h = (1:n).*(2*(1:n)-1);
result = max(h(ismember(h,t(ismember(t,p))))); % n<1000时最大的同时是t,p,h的数
while result<40775
    n = n*10;
    t = (1:n).*((1:n)+1)/2;
    p = (1:n).*(3*(1:n)-1)/2;
    h = (1:n).*(2*(1:n)-1);
    result = max(h(ismember(h,t(ismember(t,p)))));
end
toc;
end

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-09-02 16:16:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangww2011 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见