原题:水仙花数是满足abc=a^3+b^3+c^3的数,求1000内的水仙花数。

这题不新鲜,我自己都写过n次了。

各种语言通用写法:

echo '<h2>3.水仙花数:abc=a^3+b^3+c^3;求1000内的水仙花数。</h2>';
echo '1000内的水仙花数有:';
for($i = 100; $i < 1000; $i++){
$a = (int)($i / 100);
$b = (int)($i / 10)%10;
$c = $i % 100;
if($a * $a * $a + $b * $b * $b + $c * $c * $c == $i){
echo $i.',';
}
}

echo '<br/><br/>';
echo '<hr/>';

各种语言通用写法2:

echo '<h2>3.水仙花数:abc=a^3+b^3+c^3;求1000内的水仙花数。</h2>';
echo '1000内的水仙花数有:';
for(int a = 1; a < 10; a++){
for(int b = 0; b < 10; b++){
for(int c = 0; c < 10; c++){
if($a * $a * $a + $b * $b * $b + $c * $c * $c == $i){
echo $a.$b.$c;
}
}
}
}

echo '<br/><br/>';
echo '<hr/>';

弱语言类型写法1:

echo '<h2>3.水仙花数:abc=a^3+b^3+c^3;求1000内的水仙花数。</h2>';
echo '1000内的水仙花数有:';
for($i = 100; $i < 1000; $i++){
$a = substr($i,0,1);
$b = substr($i,1,1);
$a = substr($i,2);

if($a * $a * $a + $b * $b * $b + $c * $c * $c == $i){
echo $i.',';
}
}

echo '<br/><br/>';
echo '<hr/>';

弱类型写法2:

echo '<h2>3.水仙花数:abc=a^3+b^3+c^3;求1000内的水仙花数。</h2>';
echo '1000内的水仙花数有:';
for($i = 100; $i < 1000; $i++){
$str = ''.$i;
$a = $str[0];
$b = $str[1];
$c = $str[2];
if($a * $a * $a + $b * $b * $b + $c * $c * $c == $i){
echo $i.',';
}
}

echo '<br/><br/>';
echo '<hr/>';

当然

$a * $a * $a + $b * $b * $b + $c * $c * $c == $i

可以写为:

pow($a,3) + pow($b,3) + pow($c,3) == $i