Heim > Backend-Entwicklung > PHP-Problem > Was ist die Narzissennummer in PHP?

Was ist die Narzissennummer in PHP?

藏色散人
Freigeben: 2023-02-24 08:08:02
Original
6016 Leute haben es durchsucht

Was ist die Narzissennummer in PHP?

Was ist die PHP-Narzissennummer?

Die sogenannte „Narzissenzahl“ bezieht sich auf eine n-stellige Zahl (n≥3), die Summe der n-ten Potenz der Zahlen in jeder Ziffer ist gleich sich selbst.

PHP-Programm zum Ermitteln der Anzahl der Narzissen, es gibt viele Möglichkeiten, es zu schreiben:

Methodenbeispiel 1:

<?php
header("content-type:text/html;charset=utf-8;"); //设置页面编码为 utf-8
//以下代码求解1000以内的水仙花数
echo &#39;<p>1000以内的水仙花数: </p>&#39;;
for ( $i = 100; $i < 1000; ++ $i )
{
    $hundreds = floor( $i / 100);    //分解出百位
    $tens = floor( $i / 10 ) % 10;   //分解出十位
    $ones = floor( $i % 10 );        //分解出个位
    if (bcpow($hundreds,&#39;3&#39;)+bcpow($tens,&#39;3&#39;)+bcpow($ones,&#39;3&#39;) == $i)
        echo $i."";
}
?>
Nach dem Login kopieren

Ausgabe:

1000以内的水仙花数:
153
370
371
407
Nach dem Login kopieren

Methodenbeispiel zwei:

<?php
for($q=1;$q<=9;$q++){
    for($w=0;$w<=9;$w++){
        for($e=0;$e<=9;$e++){
            if($q*$q*$q + $w*$w*$w + $e*$e*$e ==
                100*$q + 10*$w + $e){
                echo "$q$w$e"."<p>";
            }
        }
    }
}
Nach dem Login kopieren

Ausgabe:

153
370
371
407
Nach dem Login kopieren

Methodenbeispiel drei:

<?php
function cube( $n )
{
    return $n * $n * $n;
}

function is_narcissistic ( $n )
{
    $hundreds = floor( $n / 100);    //分解出百位
    $tens = floor( $n / 10 ) % 10;    //分解出十位
    $ones = floor( $n % 10 );    //分解出个位
    return (bool)(cube($hundreds)+cube($tens)+cube($ones) == $n);
}


for ( $i = 100; $i < 1000; ++ $i )
{
    if ( is_narcissistic($i) )
        echo $i."\n";
}
Nach dem Login kopieren

Methodenbeispiel vier:

<?php
//阿姆斯特朗数:一个k位数,它的每个位上的数字的k次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
class Armstrong {
    static function index(){
        for ( $i = 100; $i < 100000; $i++ ) {
            echo self::is_armstrong($i) ? $i . &#39;<br>&#39; : &#39;&#39;;
        }
    }
    static function is_armstrong($num){
        $s = 0;
        $k = strlen($num);
        $d = str_split($num);
        foreach ($d as $r) {
            $s += bcpow($r, $k);
        }
        return $num == $s;
    }
}
Armstrong::index();
Nach dem Login kopieren

Ausgabe:

153
370
371
407
1634
8208
9474
54748
92727
93084
Nach dem Login kopieren

Methodenbeispiel 5:

<html>
<head>
<title></title>
</head>
<body>
<?php
function winter($num)
{
if($num<1000){
//定义个位
$ge=$num%10;
//定义十位
$ten=(($num%100)-$ge) /10;
//定义百位
/*floor取整,忽略小数点后面的所有数*/
$hundred=floor($num/100);
$sum1=$ge*$ge*$ge+$ten*$ten*$ten+$hundred*$hundred*$hundred;
if($sum1==$num){
return 1;
} else{
return 0;
}
} else{
return -1;
}
}
if(winter(371)==-1) {
echo "大于1000的数";
}else{
if(winter(371)) {
echo "Yes";
}
else{
echo "No";
}
}
?>
</body>
</html>
Nach dem Login kopieren

Ausgabe:

Yes
Nach dem Login kopieren

Verwandte Empfehlungen: „ PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Narzissennummer in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage