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

打印所有的水仙花数


    /**
     *  打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
     *  例如: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>');
            }
        }
    }

原文地址:https://www.cnblogs.com/zhy7blog/p/11253735.html