PHP解数学题 [PHP]

post by 朦朧中的罪惡 / 2010-3-11 18:34 Thursday

题目如下

有6个人都是4月11生的,并且都属牛,某年他们岁数的连乘积为17597125,问这一年他们岁数之和是多少

算法核心:

因为他们都属牛,那么可以确定他们岁数相同,或是相差12的倍数,那么我们就一个人的岁数为基础,在他的岁数的基础上+12的倍数得到其他人的岁数,然后每次推理出六个人的岁数,我们就要将每个人的岁数连乘看是否为17597125

<?php
// 题目:有6个人都是4月11生的,并且都属牛,某年他们岁数的连乘积为17597125, 问这一年他们岁数之和是多少

// 解题人:朦胧之影 http://be-evil.org
$a = $b = $c = $d = $e = $f = 1;
for ($a = 1; $a<=15; $a++) {
    for ($i = 0; $i <=10; $i++) {
        $b = $a + $i * 12;
        for ($i2 = 0; $i2 <= 10; $i2++) {
            $c = $a + $i2 * 12;
            for ($i3 =0;$i3 <= 10; $i3++) {
                $d = $a + $i3 * 12 ;
                for ($i4 = 0; $i4 <= 10; $i4++) {
                    $e = $a + $i4 * 12;
                    for ($i5 = 0; $i5 <=10; $i5++) {
                        $f = $a + $i5 * 12;
                        if ( $a * $b * $c * $d * $e * $f == 17597125 ) {
                            echo '张三= '. $a;
                            echo '李四= '. $b;
                            echo '王五= '. $c;
                            echo '赵六= '. $d;
                            echo '田七= '. $e;
                            echo '王二麻子= '. $f;
                            echo "和=". ($a + $b + $c + $d + $e + $f);
                            echo '<br>';
                            break;
                        }
                    }
                }
            }
        }
    }
}

标签: php 原创 算法

« ubuntu在命令行下让系统自动查找最快更新源 | 给Vim添加更多的文件后缀»

引用:

评论

  1. 奇遇 Says:

    这个。。

    博主回复:这个怎么了

发表评论