题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public function actionWaterFlower() { $re = []; for($i = 100;$i<= 999;$i++) { $hundred = floor($i / 100 ); // 获取百位数字 $ten = floor(($i %100 ) / 10 ); // 获取十位数字 $one = floor($i % 100 % 10); // 获取各位数字 if((pow($hundred,3) + pow($ten,3) + pow($one,3) ) == $i ) { $re[] = $i; } } var_dump($re); }