ホームページ  >  記事  >  バックエンド開発  >  PHP とアームストロング数値の愛憎関係をお見逃しなく

PHP とアームストロング数値の愛憎関係をお見逃しなく

藏色散人
藏色散人オリジナル
2021-07-29 17:52:162018ブラウズ

視聴者の皆さん、頭の中は疑問でいっぱいですか?笑、混乱しないでください。今日は別の楽しい方法を紹介します。この記事のタイトルの現地語訳は「PHP を使用して、数値がアームストロング数であるかどうかを確認する」です。アームストロング数は実際には水仙の数字、ではこの数字は一体何でしょうか?水仙ですか? PHPプログラムを使用して実装するにはどうすればよいですか?一つずつ紹介しましょう~

まず、水仙数の定義、つまり アームストロング数:

水仙数は次のとおりです。超完全数とも呼ばれます。変数、自己指数関数的数、アームストロング数、またはアームストロング数。水仙数は、各桁の 3 乗の合計がそれ自体に等しい 3 桁の数です (例: 1^3 5^3 3^3 = 153)。

これで理解できたので、次に進みましょう:

エディターを直接開いてコードを入力してください。

<?php
function armstrong_number($num) {
    $sl = strlen($num);
    $sum = 0;
    $num = (string)$num;
    for ($i = 0; $i < $sl; $i++) {
        $sum = $sum + pow((string)$num{$i},$sl);
    }
    if ((string)$sum == (string)$num) {
        return "True";
    } else {
        return "False";
    }
}
echo "153是阿姆斯特朗数吗?".armstrong_number(153);
echo "<br>21是阿姆斯特朗数吗?".armstrong_number(21);
echo "<br>4587是阿姆斯特朗数吗?".armstrong_number(4587);

結果を実行して見てみましょう:

PHP とアームストロング数値の愛憎関係をお見逃しなく

上記の例では、判断のために 3 つの数値 (153) を与えました。 ,21,4587。

明らかに 153 はアームストロングの番号ですが、21 も 4587 もそうではないため、false が返されます。

実は、PHP プログラムでアームストロング数かどうかを判定したい場合、最も重要なポイントはその判定式です。

上記の定義にあるように、各桁の数値の 3 乗の合計がそれ自体に等しい数値はアームストロング数と呼ばれ、水仙数でもあります。

例のキーコード部分は、「$sum =$sum pow((string)$num{$i},$sl);」となります。

ここで、 pow() は PHP の組み込み関数であり、x の y 乗を計算するために使用されます。

さて、分かりやすいでしょうか?

難しくはありませんが、個人的にはもっと面白いと思います。このアイデアが困っている友達のお役に立てれば幸いです~

PHP ビデオ チュートリアルクリックしてください -> https://www.php.cn/course/list/29/type/2.html

以上がPHP とアームストロング数値の愛憎関係をお見逃しなくの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。