算法题:找出阿姆斯壮数

Armstrong(阿姆斯壮)数是等于其数字的立方数之和的数字, 

如 153 可以满足 1*1*1+5*5*5+3*3*3=153,试写出一程序找出所有的三位数 Armstrong 数。

采用穷举法,把数分成三位,遍历从100到999,如果三个数立方数之和 等于 它自己,则输出。

    // 找出所有三位数的Armstrong数
    function find_armstrong(){
        for($i=1;$i<=9;$i++){
            for($j=0;$j<=9;$j++){
                for($n=0;$n<=9;$n++){
                    if (pow($i,3) + pow($j,3) + pow($n,3) == (int)($i.$j.$n)) {
                        var_dump($i.$j.$n);
                    }
                }
            }
        }
    }

    find_armstrong();

结果:153 370 371 407

posted @ 2023-06-11 22:00  波罗斯の程序日记  阅读(23)  评论(0编辑  收藏  举报