JavaScriptで完全な数を見つける方法

PHPz
リリース: 2023-04-24 13:57:43
オリジナル
728 人が閲覧しました

完全数とは、すべての因数の合計がそれ自体に等しい正の整数です。たとえば、6 は、約数が 1、2、3 であり、1 2 3 = 6 であるため、完全数です。数学の分野では完全数は特別な数ですが、コンピュータプログラミングでは JavaScript を使用して完全数を解く関数を実現できます。

まず、指定された数値が完全な数であるかどうかを判断する関数を定義できます。コードは次のとおりです:

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

この関数は、ループと条件文を使用して因子の合計を計算しますnum を計算し、最終的に因数の合計が num に等しいかどうかで完全数かどうかを判断します。次に、特定の範囲内のすべての完全数を見つける関数を作成できます。コードは次のとおりです:

function findPerfectNumbers(min, max) 
{
    var result = [];
    for (var i=min; i<=max; i++) 
    {
        if (isPerfectNumber(i)) 
        {
            result.push(i);
        }
    }
    return result;
}
ログイン後にコピー

この関数は、配列を使用して、見つかったすべての完全数を保存し、isPerfectNumber 関数を使用して各数値を決定します完全数かどうか。最後に、見つかったすべての完全数の配列を返します。

以下は、上記の 2 つの関数とテスト用のコードを含む完全な JavaScript コードです。

function isPerfectNumber(num)
{
    var sum = 0;
    for(var i=1; i<num; i++) 
    {
        if(num % i == 0) 
        {
            sum += i;
        }
    }
    return sum == num;
}

function findPerfectNumbers(min, max) 
{
    var result = [];
    for (var i=min; i<=max; i++) 
    {
        if (isPerfectNumber(i)) 
        {
            result.push(i);
        }
    }
    return result;
}

console.log("1到1000内的所有完全数:");
console.log(findPerfectNumbers(1, 1000));
ログイン後にコピー

最後に、上記のコードを使用して、任意の範囲の完全数を求めることができます。テスト後、1 から 1000 までのすべての完全な数を取得できます。

1到1000内的所有完全数: 
[6, 28, 496]
ログイン後にコピー

実際の使用では、入力範囲や出力方法などを変更するなど、必要に応じて変更できます。

つまり、JavaScript を使用して完全数を解くことは、数学的知識をより深く理解するのに役立つだけでなく、JavaScript プログラミングにさらに詳しくなり、プログラマーの思考の幅を広げることができます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!