自幂数,又称阿姆斯特朗数,民间通称水仙花数。实则只有3位自幂数才是水仙花数。4位5位6位等等各有别的叫法。
代码如下:
PHP
//阿姆斯特朗数:一个k位数,它的每个位上的数字的k次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
class Armh3 {
//阿姆斯特朗数:一个k位数,它的每个位上的数字的k次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
class Armh3 {
static function index(){
for ( $i = 100; $i < 100000; $i++ ) {
echo self::is_armh3($i) ? $i . '
' : '';
}
}
static function is_armh3($num){
$s = 0;
$k = strlen($num);
$d = str_split($num);
foreach ($d as $r) {
$s += bcpow($r,$k);
}
return $num == $s;
}
}
Armh3::index();