Maison > développement back-end > tutoriel php > Programme PHP pour vérifier si un numéro est un numéro Armstrong

Programme PHP pour vérifier si un numéro est un numéro Armstrong

DDD
Libérer: 2025-02-07 11:27:10
original
726 Les gens l'ont consulté

PHP Program to Check if a Number is an Armstrong Number

Numéro Armstrong

Le nombre Armstrong fait référence à la somme de n pouvoirs de chaque chiffre d'un nombre égal au nombre lui-même, où n est le nombre de chiffres du nombre. Cet article discutera de la façon de vérifier si un numéro donné est un numéro Armstrong.

Exemple

Comprenons le numéro Armstrong avec quelques exemples d'entrée et de sortie.

Entrez

<code>9474</code>
Copier après la connexion

sortie

<code>是</code>
Copier après la connexion
Copier après la connexion

Explication

Il s'agit d'un numéro à quatre chiffres. Les nombres de ce nombre sont de 9, 4, 7 et 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>
Copier après la connexion

Donc, c'est un numéro Armstrong.

Entrez

<code>153</code>
Copier après la connexion

sortie

<code>是</code>
Copier après la connexion
Copier après la connexion

Explication

Il s'agit d'un triple chiffre. Les nombres de ce nombre sont de 1, 5 et 3.

<code>153 = 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup><br>= 1 + 125 + 27<br>=153</code>
Copier après la connexion

Donc, c'est un numéro Armstrong.

Méthode de solution

Nous obtiendrons un entier en entrée. Nous écrivons d'abord une fonction pour calculer le nombre total de chiffres. Maintenant, nous initialisons une variable pour stocker la somme et stocker le numéro d'origine dans n'importe quelle variable. Maintenant, nous utilisons l'opérateur modulo pour extraire chaque nombre de nombres et ajoutant la puissance des nombres au nombre total de chiffres. Enfin, nous vérifions si la somme calculée est égale au numéro d'origine.

Implémentation PHP

Accédez à la solution au problème ci-dessus en PHP en suivant les étapes -

  • Nous écrivons une fonction pour calculer le nombre de bits dans un nombre.
  • Maintenant, écrivez une autre fonction pour vérifier si un nombre est un numéro Armstrong.
  • Initialiser une somme variable et stocker le numéro d'origine
  • Utilisez maintenant l'opérateur modulo pour extraire chaque numéro un par un et ajoutez la puissance du nombre au nombre de nombres.
  • Utilisez l'opérateur de division pour supprimer le dernier chiffre.
  • Après avoir quitté la boucle, vérifiez si la somme est égale au nombre d'origine.
  • Si c'est le cas, c'est un numéro Armstrong.

Exemple

Ce qui suit est la mise en œuvre des étapes de mise en œuvre discutées ci-dessus dans 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 不是阿姆斯特朗数。";
}
?>
Copier après la connexion

sortie

<code>153 是阿姆斯特朗数。</code>
Copier après la connexion

complexité temporelle: o (d * n), où d est le nombre de chiffres et n est la puissance de chaque nombre Complexité de l'espace: o (1), espace constant

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal