每日算法 ---- 打印所有水仙花数

打印所有的水仙花数


    /**
     *  打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
     *  例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方
     *  程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
     */

    public function  daffodil(){
        for($n=100; $n < 1000; $n++){
            $b = (int)($n/100); //百位 将浮点型强制转化为int类型
            $s = $n/10%10; //十位
            $g = $n%10; //个位
            $num = pow($b, 3)+ pow($s, 3) + pow($g, 3); //百位的立方 + 十位的立方 + 个位的立方
            if($num == $n){
                print_r($n);
                print_r('<br>');
            }
        }
    }

posted @ 2019-07-27 08:16  nihao_小白  阅读(341)  评论(0编辑  收藏  举报