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
Freigeben: 2025-02-07 11:27:10
Original
726 Leute haben es durchsucht

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>
Nach dem Login kopieren

Ausgabe

<code>是</code>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

Dies ist also eine Armstrong -Zahl.

eingeben

<code>153</code>
Nach dem Login kopieren

Ausgabe

<code>是</code>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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.

<?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 不是阿姆斯特朗数。";
}
?>
Nach dem Login kopieren

Ausgabe

<code>153 是阿姆斯特朗数。</code>
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage