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