24小时热门版块排行榜    

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

holmescn

金虫 (正式写手)

[交流] Euler 工程 第五题:能被1到20所有的数都整除的最小正数 已有11人参与

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.

What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

2520是一个能被1到10中的每个数都除尽的最小的数。
那么能被1到20所有的数的整除的最小的正数是多少呢?
回复此楼

» 猜你喜欢

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

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

微尘、梦想

木虫 (知名作家)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 鼓励讨论! 2011-05-13 21:13:39
CODE:
#include
#define n 30
static int a=1;
void fun(int i);
void main(void)
{
        int i;
        for(i=2;i<=n;i++)
                fun(i);
        printf("%d\n",a);
}
void fun(int i)
{
        int j,k=i,m=a;
        for(j=2;j         {
                if((m%j==0)&&(k%j==0))
                {
                        k/=j;
                        m/=j;
                        j--;
                }
        }
        a*=k;
}

有感于2楼的想法,改进了一下算法,求出了能被1到20所有的数的整除的最小的正数,其运算时间不到1秒,其结果是:232792560
说明:虽然静态全局变量并不提倡使用,但用在这里,恰到好处。
算法:能被前n个数整除的最小正数x,n+1除以x与n+1的公约数,得结果b,x乘b即是能被前n+1个数整除的最小正数

ps:不能求出能被1到30所有的数的整除的最小的正数,因为会产生数据溢出问题,最大只能求到22,但算法是正确的。

[ Last edited by 微尘、梦想 on 2011-5-13 at 07:56 ]
任风云变幻,我笑对人生!
6楼2011-05-12 21:35:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 21 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 鼓励交流! 2011-05-12 19:11:36
余泽成(程序强帖+1): 2011-05-12 19:12:13
CODE:
%% evenly divided by 1:20
% Elapsed time is 173.211097 seconds.
% ans =
%    232792560
function result = euler5()
tic;
flag = 0;
result = 2520; % 能被1-20整除,肯定比能被1-10整除的2520大
while flag==0
    result = result+10; % 能被10整除,所以每次增加10
    flag = ~any(mod(result,2:20)); % 检测2-20,如果全部可以整除,改变flag结束循环
end
toc;
end

效率有点低,170多秒啊,
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-05-12 16:36:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

引用回帖:
Originally posted by libralibra at 2011-05-12 16:36:07:
[code] %% evenly divided by 1:20
% Elapsed time is 173.211097 seconds.
% ans =
%    232792560
function result = euler5()
tic;
flag = 0;
result = 2520; % 能被1-20整除,肯定比能被1-10整除的2520 ...

1. 为什么不用all,要用any呢?
2. 问题很简单啊,算法太粗暴了。
3楼2011-05-12 16:45:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 谢谢参与交流! 2011-05-12 19:12:02
CODE:
#include
#include
int x(int i);
void main(void)
{
        int i;
        float dif;
        time_t start,end;

        time(&start);
        for(i=1;1;i++)
                if(x(i))
                {
                        printf("%d\n",i);
                        break;
                }
        time(&end);
        dif=difftime(end,start);
        printf("运算时间:%.1f秒\n",dif);
}
int x(int i)
{
        int j,k=0;
        for(j=2;j<21;j++)
                if(i%j==0)
                        k++;
        if(k==19)
                return 1;
        else return 0;
}

答案:232792560
运行时间:37s

算法:最笨的那种!

[ Last edited by 微尘、梦想 on 2011-5-12 at 17:20 ]
任风云变幻,我笑对人生!
4楼2011-05-12 17:19:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 听说今天filecode变了 +26 布布和一二 2026-08-06 49/2450 2026-08-11 13:18 by WH3796
[基金申请] filecode +9 documentary 2026-08-10 9/450 2026-08-11 10:08 by wk7465
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
信息提示
请填处理意见