24小时热门版块排行榜    

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

libralibra

至尊木虫 (著名写手)

骠骑将军

[交流] Euler Project Q12 欧拉工程第十二题 已有9人参与

Question 12:
The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

     1: 1
     3: 1,3
     6: 1,2,3,6
    10: 1,2,5,10
    15: 1,3,5,15
    21: 1,3,7,21
    28: 1,2,4,7,14,28

We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?

翻译:

自然数求和可生成三角数列.第七个三角数是1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.前10个三角数列元素是:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

下面列出前7个三角数及其整除数:
     1: 1
     3: 1,3
     6: 1,2,3,6
    10: 1,2,5,10
    15: 1,3,5,15
    21: 1,3,7,21
    28: 1,2,4,7,14,28
可以看出,28是第一个有超过5个整除数的三角数.

那么,第一个有超过500个整除数的三角数是多少?

[ Last edited by libralibra on 2011-5-17 at 05:41 ]
回复此楼

» 猜你喜欢

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

匿名

用户注销 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 鼓励交流!欢迎常来程序语言版! 2011-05-24 12:36:56
本帖仅楼主可见
19楼2011-05-24 09:00:01
已阅   回复此楼   编辑   查看我的主页
查看全部 24 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★
ben_ladeng(金币+3, 程序强帖+1): 欢迎继续 2011-05-17 06:43:27
对此题我相当无语,难度在20题以内,我也不知道具体程序跑了多久,反正我吃了个泡面回来,打印出结果了,应该超过10分钟了

c的,matlab对此表示鸭梨很大
CODE:
#include
#include

int main(int args, char* argv[])
{
        long result=1,trinum=0,curnum=1;
        int n=0,i=0,big=0;
        int stop = 500;                //停止要求的除数个数,改成5可以测试28
        while(n         {
                n = 0;
                trinum = 0;
                // 计算当前三角数
                for(i=1;i<=curnum;i++)
                        trinum += i;

                // 从1开始除,计算除数个数
                for(i=1;i<=trinum;i++)
                {
                        if(trinum%i==0) // 如果整除,n+1
                                n += 1;
                }
               
                if(n>=stop) //如果超过stop个,保存结果跳出循环,这里是500个
                {
                        result = trinum;
                        break;
                }

                //如果没超过stop个,记录当前最大的个数并输出
                //这个if可以不要,因为我运行以为电脑死机了
                //所以加了这个判断,找到更接近stop的除数个数时输出,让我有点盼头
                if(n>big)  
                {
                        big = n;
                        printf("Current number: %i [%d]\n",trinum,big);
                }

                //自加自然数增加1,trinum = sum(1:curnum)
                curnum++;
        }
       
        // 打印结果
        printf("%i\n",result);
       
        system("PAUSE");
        return 0;
        }

结果
CODE:
% ans =
%       76576500

[ Last edited by libralibra on 2011-5-17 at 18:14 ]
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-05-17 05:38:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

引用回帖:
Originally posted by libralibra at 2011-05-17 05:38:26:
对此题我相当无语,难度在20题以内,我也不知道具体程序跑了多久,反正我吃了个泡面回来,打印出结果了,应该超过10分钟了

c的,matlab对此表示鸭梨很大

[code] #include <stdio.h>
#include <stdlib.h ...

你又遍历!
漩涡的中心有一块空地,空空的。
3楼2011-05-17 11:10:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 谢谢参与交流! 2011-05-17 22:10:21
抛砖引玉一个思路:
CODE:
1. 建立素数表prime[N],N取一个比较大的值
2. 对x=(1+i)*i/2进行质因数分解:
    x=k_1^m_1 * k_2^m_2 ... * k_n^m_n
    其中^表示指数,k_1 ... k_n表示素数
3. 计算x因子总数:
    divisors = (m_1 + 1) * (m_2 + 1) * ... * (m_n + 1)
4. 判断divisors是否超过500,如果没有,跳到第2步,尝试下一个x;如果已经超过500,则输出x

有素数表之后,这个算法应该比较快,因为质因数分解的时候,只要从小到大判断对素数的整除性,然后顺便统计质因数的指数,同时如果能整除,试除用的x可以缩小为
CODE:
x/=prime[i]

再继续作测试,这样,算法很快就收敛了

问题在于事先对prime[N]中的N的估计怎样才合理,恩...

[ Last edited by sudo on 2011-5-17 at 12:56 ]
4楼2011-05-17 12:54:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国自然面上和省基金B类撒花 +16 花田半亩~白 2026-04-21 16/800 2026-04-23 03:04 by 魅力紫翼
[考研] 有没有学校收留 +3 蒋昌鹏qtj 2026-04-20 3/150 2026-04-22 20:25 by 学员JpLReM
[考研] 312求调剂 +3 山河似你温柔 2026-04-22 3/150 2026-04-22 20:17 by 学员JpLReM
[考博] 华师大读博 +3 xq83 2026-04-22 5/250 2026-04-22 10:42 by xq83
[教师之家] 又一批高校组建人工智能学院 师资行吗 不是骗人吗 +5 yexuqing 2026-04-19 5/250 2026-04-22 10:01 by easeheart
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 8/400 2026-04-21 16:26 by 啃面包的小书虫
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 7/350 2026-04-20 15:45 by 豆豆7758
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考博] 湖南大学刘巧玲课题组2026年第二批次博士研究生招生信息 +3 南风观火 2026-04-18 5/250 2026-04-20 10:13 by 南风观火
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 294求调剂 +8 淡然654321 2026-04-17 9/450 2026-04-19 19:51 by Equinoxhua
[考研] 求调剂 +10 小聂爱学习 2026-04-16 12/600 2026-04-19 16:51 by 中豫男
[考研] 求调剂 +6 苦命人。。。 2026-04-18 7/350 2026-04-19 16:27 by 中豫男
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
[考研] 322求调剂 +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
信息提示
请填处理意见