24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 4172  |  回复: 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的回帖

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的回帖
查看全部 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的回帖

微尘、梦想

木虫 (知名作家)

★ ★ ★ ★
小木虫(金币+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的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励讨论! 2011-05-13 21:13:19
引用回帖:
Originally posted by holmescn at 2011-05-12 16:45:10:
1. 为什么不用all,要用any呢?
2. 问题很简单啊,算法太粗暴了。

all需要测试全部能整除,2:20都会计算
~any只要有2:20任意一个不整除,就break,
只有在全部整除那个数时,才会2:20全部计算一次
应该会比all快,我实际测试也是~any快过all.
不过这是我的理解,math works没有相关说明

这个问题好像没有其他办法,哈哈,只能粗暴解决

[ Last edited by libralibra on 2011-5-12 at 19:21 ]
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2011-05-12 19:10:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 285求调剂 +4 AZMK 2026-03-27 7/350 2026-03-27 20:59 by AZMK
[考研] 315分求调剂 +6 26考研上岸版26 2026-03-26 6/300 2026-03-27 19:54 by WYUMater
[考研] 286求调剂 +8 PolarBear11 2026-03-26 8/400 2026-03-27 18:05 by yu221
[考研] 269专硕求调剂 +10 金恩贝 2026-03-21 10/500 2026-03-27 15:10 by caszguilin
[考研] 317求调剂 +5 十闲wx 2026-03-24 5/250 2026-03-27 13:48 by 杨杨杨紫
[考研] 339求调剂 +4 烤麦芽 2026-03-27 5/250 2026-03-27 13:23 by 752105528
[考研] 304求调剂 +3 曼殊2266 2026-03-27 3/150 2026-03-27 10:17 by guoweigw
[考研] 325求调剂 +5 李嘉图·S·路 2026-03-23 5/250 2026-03-27 00:42 by wxiongid
[考研] 材料调剂 5+4 想要一壶桃花水 2026-03-25 10/500 2026-03-26 19:56 by 不吃魚的貓
[考研] 一志愿211 初试270分 求调剂 +6 谷雨上岸 2026-03-23 7/350 2026-03-26 18:55 by 不吃魚的貓
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +6 jiajunX 2026-03-22 6/300 2026-03-25 23:05 by licg0208
[考研] 求调剂 +3 QiMing7 2026-03-25 3/150 2026-03-25 21:13 by 给你你注意休息
[考研] 299求调剂 +7 某某某某位 2026-03-21 8/400 2026-03-25 20:34 by 热情沙漠
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +7 niko- 2026-03-22 7/350 2026-03-25 20:14 by qingfeng258
[考研] 26考研-291分-厦门大学(085601)-柔性电子学院材料工程专业求调剂 +3 min3 2026-03-24 4/200 2026-03-25 18:22 by xcjcqu
[考研] 0854电子信息求调剂 324 +4 Promise-jyl 2026-03-23 4/200 2026-03-25 11:36 by Sugarlight
[考研] 340求调剂 +5 话梅糖111 2026-03-24 5/250 2026-03-25 06:53 by ilovexiaobin
[考研] 材料专硕找调剂 +5 哈哈哈吼吼吼哈 2026-03-23 5/250 2026-03-24 19:07 by 了了了了。。
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 275求调剂 +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
信息提示
请填处理意见