PHPで約数を追加する方法

PHPz
リリース: 2023-04-23 15:16:28
オリジナル
543 人が閲覧しました

PHP は、Web 開発で広く使用されているスクリプト言語です。 PHP には、「除数の追加」と呼ばれる非常にシンプルですが興味深いアルゴリズムがあります。このアルゴリズムは、数値のすべての約数の合計を簡単に求めることができます。以下にこのアルゴリズムの実装を紹介します。

整数の和の概念は理解しやすいですが、簡単に言うと、ある数値が他に何個で割り切れるか、そしてそれらの数値を足し合わせるということです。たとえば、数字 5 は 1 と 5 で割り切れるため、約数の合計は 1 5 = 6 となります。

次に、このアルゴリズムを PHP で実装するプロセスを紹介します。

まず、数値のすべての約数の合計を計算する関数を定義する必要があります。関数のコードは次のとおりです。

function sum_of_divisors($n) {
    $sum = 0;
    for ($i = 1; $i <= $n; $i++) {
        if ($n % $i == 0) {
            $sum += $i;
        }
    }
    return $sum;
}
ログイン後にコピー

この関数では、for ループを使用して 1 から $n$ までのすべての数値を調べます。それぞれの数値 $i$ について、それが数値 $n$ の因数であるかどうか (つまり、$n$ が $i$ で割り切れるかどうか) をチェックし、そうであればそれを sum 変数に追加します。

次に、この関数を使用して、整数のすべての約数の合計を計算します。たとえば、数値 5 のすべての約数の合計を計算するコードは次のとおりです。

$num = 5;
$sum = sum_of_divisors($num);
echo "The sum of divisors of $num is $sum.";
ログイン後にコピー

このコードでは、次の結果が出力されます。

The sum of divisors of 5 is 6.
ログイン後にコピー

関数を使用して合計を計算することに加えて、数値のすべての約数の合計 合計に加えて、一連の数値の約数の合計を計算する別の関数を作成できます。この関数は、整数の配列をパラメータとして受け取り、配列内の各数値の約数の合計を加算します。この関数のコードは次のとおりです。

function sum_of_divisors_array($numbers) {
    $sum = 0;
    foreach ($numbers as $num) {
        $sum += sum_of_divisors($num);
    }
    return $sum;
}
ログイン後にコピー

この関数は、foreach ループを使用して、数値の配列内の各数値を反復処理します。数値ごとに、前に定義した sum_of_divisors 関数を呼び出して約数の合計を計算し、結果を sum 変数に累積します。最後に、この関数はすべての数値の約数の合計を返します。

この関数を使用すると、次のように一連の数値の整数合計を計算できます。

$numbers = array(5, 10, 15);
$sum = sum_of_divisors_array($numbers);
echo "The sum of divisors of ", implode(",", $numbers), " is ", $sum, ".";
ログイン後にコピー

このコードは、次の結果を出力します。

The sum of divisors of 5,10,15 is 42.
ログイン後にコピー

では、PHP で除数加算アルゴリズムを実装する方法と、このアルゴリズムを使用して数値の約数の合計と数値グループの約数の合計を計算する方法を紹介しました。このアルゴリズムは使い方が簡単で、Web アプリケーションでの税金や返品の計算などの財務計算が含まれる場合など、特定の状況でも非常に役立ちます。

以上がPHPで約数を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート