水仙花数”指一个三位整数数中,个十百位的立方之和等于这个数的本身。比如整数:153就是水仙花数,因为:153 = 1³ + 5³ + 3³ 。在计算时需要分别计算出个十百位的值,再进行循环比较得出。由于是三位数,所以它的范围在100-999之间。

    百位的计算:number / 100;

    十位的计算:number / 10 % 10;

    个位的计算:number % 10;

php代码实现:

<?php
for ($number = 100; $number < 1000; $number ++) {
    $hundred = intval($number / 100);
    $ten = intval($number / 10) % 10;
    $individual = $number % 10;
    if ($hundred *  $hundred * $hundred + $ten * $ten * $ten + $individual * $individual * $individual == $number) {
        echo $number . " 是水仙花数\n";    
    }
}

执行结果:

153 是水仙花数
370 是水仙花数
371 是水仙花数
407 是水仙花数