php等弱语言思维写水仙花数
原创
©著作权归作者所有:来自51CTO博客作者钰娘娘ynn的原创作品,请联系作者获取转载授权,否则将追究法律责任
原题:水仙花数是满足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