编程练习:使用for循环,编程求100~999之间所有的水仙花数。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153) (PHP)
<?php
//使用for循环,编程求100~999之间所有的水仙花数。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
for($i = 100;$i <= 999;$i++){//n>=3,i最小为100;
$hundreds = floor($i/100);//百位;eg:687/100=6;
$tens = floor($i/10)%10;//十位;eg:687/10=68,%10=8;
$ones = $i%10;//个位;eg:687/10=68余7;
if (pow($hundreds, 3) + pow($tens, 3) + pow($ones, 3) == $i) {
echo "$i <br>";
}
}
?>