Maison >développement back-end >tutoriel php >Programme PHP pour vérifier si un numéro est un 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.
Comprenons le numéro Armstrong avec quelques exemples d'entrée et de sortie.
<code>9474</code>
<code>是</code>
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>
Donc, c'est un numéro Armstrong.
<code>153</code>
<code>是</code>
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>
Donc, c'est un numéro Armstrong.
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.
Accédez à la solution au problème ci-dessus en PHP en suivant les étapes -
Ce qui suit est la mise en œuvre des étapes de mise en œuvre discutées ci-dessus dans PHP.
<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>
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!