使用PHP,求算100-999以内的水仙花数–详细
题目:打印出100-999的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
<?php
//求水仙花数首先理解什么是水仙花数
//例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
//第一步:求总共的个数我们首先要定义一个变量来累加属于水仙花的个数
$count = 0;
//第二步: 从100-999我们需要使用for循环来遍历他们之间的数
for($i = 100;$i < 1000;$i++){
//定义一个各位$g,一个十位$s,一个百位$b,由于求出来的数需要是整数,所以我们需要使用强制转换为整型(int)
$g =(int)($i % 10);
$s = (int)($i /10 %10);
$b = (int)($i / 100);
//求完各个位数上的值之后将他们加起来 $sum
$sum = $b*$b*$b+$s*$s*$s+$g*$g*$g;
//第三步:开始判断三个数相加是否等于 $i;
if($sum == $i){
echo $i.'<hr />';
$count++;
}
}
//最后在for循环外面打印100-999之间总共有多少个水仙花数
echo '100-999之间一共有:'.$count.'个水仙花数';
?>
//最后结果展示