ホームページ >バックエンド開発 >PHPチュートリアル >番号がアームストロング番号であるかどうかを確認するPHPプログラム
Armstrong番号は、数値の各数字のnパワーの合計を指します。数値自体に等しく、nは数の数字数です。この記事では、特定の番号がアームストロング番号であるかどうかを確認する方法について説明します。
いくつかの入力と出力の例を使用して、アームストロングの数を理解しましょう。
を入力します<code>9474</code>
<code>是</code>
これは4桁の数字です。この数値の数字は9、4、7、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>
したがって、これはアームストロングの数です。
を入力します<code>153</code>
<code>是</code>
これは3倍の数字です。この数値の数字は1、5、および3です。
<code>153 = 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup><br>= 1 + 125 + 27<br>=153</code>
したがって、これはアームストロングの数です。
入力として整数を取得します。最初に、桁の総数を計算する関数を書き込みます。次に、変数を初期化して合計を保存し、元の番号を任意の変数に保存します。ここで、Modulo演算子を使用して、数値の各数を抽出し、数字の電力を桁数に追加します。最後に、計算された合計が元の数値に等しいかどうかを確認します。
手順に続く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>output
<code>153 是阿姆斯特朗数。</code>
時間の複雑さ:o(d * n)、dは数字の数、nは各数のパワーです スペースの複雑さ:o(1)、一定スペース
以上が番号がアームストロング番号であるかどうかを確認するPHPプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。