当前位置:  开发笔记 > 编程语言 > 正文

项目Euler Puzzler(特别是在PHP中)

如何解决《项目EulerPuzzler(特别是在PHP中)》经验,为你挑选了1个好方法。

还有另一个最近的Project Euler问题,但我认为这有点具体(我只对基于PHP的解决方案感兴趣)所以我还是要问.

问题#5的任务是:"从1到20的所有数字均可被整除的最小数字是多少?"

现在,我已经解决了两次.曾经非常低效,而且效率更高,但我仍然远离一个特别复杂的答案(我在数学上并不是特别坚固,因此我的蛮力解决方案).我可以看到几个方面我可以改进这一点,但我想知道你们中是否有人能够证明这个问题更有效的解决方案.

*扰流板:这是我不太理想(运行7秒)但仍然可以容忍的解决方案(不知道如何处理双$ ...只是假装你只看到1 ......

    function euler5(){
        $x = 20;

        for ($y = 1; $y < 20; $y++) {

            if (!($x%$y)) {

            } else {  
                $x+=20;
                $y = 1;  
            }   

        }echo $x;
     };

Chris Jester.. 6

收集1到20之间所有数字的素数因子.计算每个素数因子的最大指数,我们有16 = 2**4,9 = 3**2以及5,7,11,13,17,19(每个只出现一次).将该批次乘以,您就得到了答案.



1> Chris Jester..:

收集1到20之间所有数字的素数因子.计算每个素数因子的最大指数,我们有16 = 2**4,9 = 3**2以及5,7,11,13,17,19(每个只出现一次).将该批次乘以,您就得到了答案.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有