Heim >Backend-Entwicklung >PHP-Tutorial >PHP -Programm, um zu überprüfen, ob eine Nummer eine Armstrong -Nummer ist
Die Armstrong -Zahl bezieht sich auf die Summe der N -Befugnisse jeder Ziffer einer Zahl, die der Zahl selbst entspricht, wobei n die Anzahl der Ziffern der Zahl ist. In diesem Artikel wird erläutert, wie man überprüft, ob eine bestimmte Nummer eine Armstrong -Nummer ist.
Verstehen wir die Armstrong -Zahl mit einigen Eingangs- und Ausgangsbeispielen.
<code>9474</code>
<code>是</code>
Dies ist eine vierstellige Zahl. Die Zahlen für diese Zahl betragen 9, 4, 7 und 4.
<code>9474 = 9<sup>4</sup> + 4<sup>4</sup> + 7<sup>4</sup> + 4<sup>4</sup><br>= 6561 + 256 + 2401 + 256<br>= 9474</code>
Dies ist also eine Armstrong -Zahl.
<code>153</code>
<code>是</code>
Dies ist eine dreifache Ziffer. Die Zahlen für diese Zahl betragen 1, 5 und 3.
<code>153 = 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup><br>= 1 + 125 + 27<br>=153</code>
Dies ist also eine Armstrong -Zahl.
Wir werden eine Ganzzahl als Eingabe bekommen. Wir schreiben zuerst eine Funktion, um die Gesamtzahl der Ziffern zu berechnen. Jetzt initialisieren wir eine Variable, um die Summe zu speichern und die ursprüngliche Nummer in einer beliebigen Variablen zu speichern. Jetzt verwenden wir den Modulo -Operator, um jede Anzahl von Zahlen zu extrahieren und die Leistung der Zahlen zur Gesamtzahl der Ziffern hinzuzufügen. Schließlich prüfen wir, ob die berechnete Summe der ursprünglichen Zahl entspricht.
Zugriff auf die Lösung auf das obige Problem in PHP folgen Sie den Schritten -
Folgendes ist die Implementierung der oben in PHP erörterten Implementierungsschritte.
<code class="language-php"><?php // 计算数字位数的函数 function countDigits($num) { return strlen((string)$num); } // 检查数字是否为阿姆斯特朗数的函数 function isArmstrong($num) { $k = countDigits($num); $sum = 0; $originalNum = $num; while ($num > 0) { $ld = $num % 10; $sum += pow($ld, $k); $num = (int)($num / 10); } return $sum == $originalNum; } $number = 153; if (isArmstrong($number)) { echo "$number 是阿姆斯特朗数。"; } else { echo "$number 不是阿姆斯特朗数。"; } ?></code>
<code>153 是阿姆斯特朗数。</code>
Zeitkomplexität: o (d * n), wobei D die Anzahl der Ziffern und n die Leistung jeder Zahl ist Raumkomplexität: o (1), konstanter Raum
Das obige ist der detaillierte Inhalt vonPHP -Programm, um zu überprüfen, ob eine Nummer eine Armstrong -Nummer ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!