ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript は 1000 以内の完全な数を見つけます

JavaScript は 1000 以内の完全な数を見つけます

PHPz
PHPzオリジナル
2023-05-21 10:53:06710ブラウズ

完全数とは何ですか?

数学では、完全数は特殊な種類の自然数です。すべての適切な因子 (つまり、それ自体以外の因子) の合計は、それ自体と等しくなります。

例: 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 サイトの他の関連記事を参照してください。

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