24小时热门版块排行榜    

查看: 2029  |  回复: 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的回帖

tieer

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎讨论 2011-09-02 19:57:15
余泽成(金币+2, 程序强帖+1): 欢迎常来程序语言版 2011-09-04 23:38:55
自学了一段时间python,第一次做题啊,呵呵。
CODE:
# -*- coding: cp936 -*-
# Project Euler 45
# Tn=n(n+1)/2
# Pn=n(3n-1)/2
# Hn=n(2n-1)
# 递增六角数,验证其是否为三角及五角数
from math import sqrt
def isTriangle(t):
    if ((sqrt(8*t+1)-1)/2)%1==0:   #用六角数的值解得三角数公式的n值,验证其是否整数
        return True
def isPentagonal(p):
    if ((sqrt(24*p+1)+1)/6)%1==0: #同上
        return True
h=144
while h:
    m=h*(2*h-1)
    if isTriangle(m) and isPentagonal(m):
        print ('T%d, P%d, H%d,the number is: %d')%((sqrt(8*m-1)-1)/2,(sqrt(24*m+1)+1)/6,h,m)
        break
    else:
        h+=1

结果
T55384, P31977, H27693,the number is: 1533776805

PS:我都是在自学python,不是程序员科班出身的,有什么不对的幼稚的地方,各位多指教,呵呵,感激不尽

[ Last edited by tieer on 2011-9-3 at 23:23 ]
思考,让这个世界更有趣。
3楼2011-09-02 19:50:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

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

木虫 (著名写手)

ben_ladeng: 2011-09-02 22:51:04
引用回帖:
3楼: Originally posted by tieer at 2011-09-02 19:50:39:
自学了一段时间python,第一次做题啊,呵呵,不会用BBcode,见谅。

# -*- coding: cp936 -*-
# Project Euler 45
# Tn=n(n+1)/2
# Pn=n(3n-1)/2
# Hn=n(2n-1)
# 递增六角数,验证其是否为三角及五角数
...

BBcode很容易使用,譬如你想显示代码
CODE:
[code]Your code[/code ]

注意其实应该没有空格,为[/code]
4楼2011-09-02 21:41:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tieer

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
4楼: Originally posted by wangww2011 at 2011-09-02 21:41:53:
BBcode很容易使用,譬如你想显示代码
CODE:
[code]Your code[/code ]

注意其实应该没有空格,为[/code]

明白了,谢谢啊,呵呵,见笑
思考,让这个世界更有趣。
5楼2011-09-02 21:52:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026国自然函评费到账 +13 羊腰板 2026-08-21 13/650 2026-08-23 09:25 by lfy8008
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 10/500 2026-08-23 07:17 by OEbVnUOu01ol
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 03:52 by OEbVnUOu01ol
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 7/350 2026-08-23 03:43 by OEbVnUOu01ol
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 DpSrDtM079iu 2026-08-22 3/150 2026-08-23 00:55 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 范进中举一文的中心思想 +3 zjuhero 2026-08-22 4/200 2026-08-22 20:02 by mycsru
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见