Heim >Backend-Entwicklung >PHP-Tutorial >PHP -Programm, um zu überprüfen, ob eine Nummer eine Armstrong -Nummer ist

PHP -Programm, um zu überprüfen, ob eine Nummer eine Armstrong -Nummer ist

DDD
DDDOriginal
2025-02-07 11:27:10687Durchsuche

PHP Program to Check if a Number is an Armstrong Number

Armstrong -Zahl

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.

Beispiel

Verstehen wir die Armstrong -Zahl mit einigen Eingangs- und Ausgangsbeispielen.

eingeben

<code>9474</code>

Ausgabe

<code>是</code>

Erläuterung

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.

eingeben

<code>153</code>

Ausgabe

<code>是</code>

Erläuterung

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.

Lösungsmethode

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.

PHP -Implementierung

Zugriff auf die Lösung auf das obige Problem in PHP folgen Sie den Schritten -

  • Wir schreiben eine Funktion, um die Anzahl der Bits in einer Zahl zu berechnen.
  • Schreiben Sie nun eine andere Funktion, um zu überprüfen, ob eine Nummer eine Armstrong -Nummer ist.
  • initialisieren Sie eine variable Summe und speichern Sie die ursprüngliche Zahl
  • Verwenden Sie nun den Modulo -Operator, um jede Nummer eins für eins zu extrahieren und die Zahl der Nummer zur Anzahl der Anzahl hinzuzufügen.
  • Verwenden Sie den Divisionsbetreiber, um die letzte Ziffer zu löschen.
  • Überprüfen Sie nach dem Verlassen der Schleife, ob die Summe der ursprünglichen Zahl entspricht.
  • Wenn ja, dann ist dies eine Armstrong -Nummer.

Beispiel

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>

Ausgabe

<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!

Stellungnahme:
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