循环打印所有的水仙花数并输出个数

1.题目要求

使用循环打印所有的水仙花数并输出个数(水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153))

 

2.代码为

<?php

//使用循环打印所有的水仙花数并输出个数
//(水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153))
$num=0;
for ($i = 100; $i < 999; $i++) {
#思路首先肯定要得到百位数十位数与个位数

    $bai = (int)($i / 100);
    $shi = (int)($i % 100 / 10);
    $ge = (int)($i % 10);
    if (($bai * $bai * $bai + $shi * $shi * $shi + $ge * $ge * $ge) == $i) {
        echo'水仙花有:'. $i.'<br>';
          $num++;
    }
}
echo '一共有'.$num.'个水仙花';

//$num=859;
//echo  (int)($num/100);#百位数
//echo '<br>';
//echo (int)($num%100/10);#十位数int取整
//echo '<br>';
//echo (int)($num%10);#各位数
//echo '<br>';

 

posted @ 2020-04-02 17:31  以己为镜  阅读(1211)  评论(0编辑  收藏  举报