ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript は 1000 以内の完全な数を見つけます
完全数とは何ですか?
数学では、完全数は特殊な種類の自然数です。すべての適切な因子 (つまり、それ自体以外の因子) の合計は、それ自体と等しくなります。
例: 6 の真の因数はすべて 1、2、3 であり、それらの合計は 6 に正確に等しいため、6 は完全数です。
それでは、JavaScript を使用して 1000 以内の完全な数を見つけるにはどうすればよいでしょうか?
最初に、数値が完全な数値であるかどうかを判断する関数を作成できます:
function isPerfectNumber(num) { let sum = 0; for (let i = 1; i <= num / 2; i++) { if (num % i === 0) { sum += i; } } return sum === num; }
この関数の機能は、数値の真の因数の合計を計算することです。数値自体と等しい場合は true を返し、それ以外の場合は false を返します。
次に、1000 以内のすべての数値を列挙し、それが完全な数値であるかどうかを判断するループを作成できます。
for (let i = 1; i <= 1000; i++) { if (isPerfectNumber(i)) { console.log(i); } }
このループの機能は、1000 以内のすべての数値を列挙することです。番号が完成したら、印刷してください。
これら 2 つの部分を結合して完全なコードを取得します:
function isPerfectNumber(num) { let sum = 0; for (let i = 1; i <= num / 2; i++) { if (num % i === 0) { sum += i; } } return sum === num; } for (let i = 1; i <= 1000; i++) { if (isPerfectNumber(i)) { console.log(i); } }
このコードを実行すると、1000 以内の完全な数値を出力できます。私のマシンでは、このコードの出力は次のようになります:
1 6 28 496
したがって、1000 以内に 4 つの完全数 (1、6、28、および 496) が存在します。
もちろん、より大きな完了数を見つける必要がある場合、このプログラムは長時間実行される可能性があります。完全数の数は非常に限られており、値が増加するにつれて完全数間の間隔はますます大きくなるため、より大きな完全数を見つけるには、より効率的なアルゴリズムが必要になる場合があります。
以上がJavaScript は 1000 以内の完全な数を見つけますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。