JavaScriptアルゴリズムの問題(1週目)-3.整数を求める


第1週目から第3週目に解決すべきアルゴリズムの問題は...
完全に救いの木だ
問題の出所はコードスタンプです.
完全数は何か問題に説明があるので、まず問題を見てください.
自分を除いて、すべての薬水の和は自分を完全水と呼ぶ.
たとえば、6と28は整数です.
6=1+2+3/1,2,3はそれぞれ6の約数である
28=1+2+4+7+1,2,4,7,14,7,14はそれぞれ28の薬水である
入力で自然数Nを受け取り、出力でN以下のすべての完全数のコードを書き出します.
ああ...問題はますます難しくなってきたような気がしますが、私だけがそう思って問題を解くと思います.
  <script>
    var perfectNum = []; 
    var inputNum = Number(prompt("숫자를 입력하세요. 입력한 숫자 이하의 완전수를 출력합니다."));

    for (i=1; i<=inputNum; i++) { 
      var sumNum = 0; 
      for (j=0; j<i; j++) { 
        if (i%j===0) { 
          sumNum += j;
        }
      }
      if (i===sumNum) {
        perfectNum.push(i);
      }
    }

    document.write(perfectNum);
  </script>
ああ...二重の複文に条件文が加わってめちゃくちゃになった.
説明
  • という完全なNumという配列を生成します.ここには完全数が予想されます.
  • これは
  • 入力のために生成された変数です.同じように2番目の問題と同じようにpromptで入力し、数字で包みます.
  • for文を使用して、入力した数値範囲内で重複文を返します.なぜ1からiなのか、整数は正の整数の和だからです.
  • for文のfor文とif文を用いて量の約数を求め,整数を求める概念としてsumnumという変数を宣言した.
  • 最後に見たif文でiがsumnumと一致する場合、iを完璧なnum配列に繰り返し挿入します.
  • も画面に出力!
  • すべての学問において、正しい説明のために国語の能力が必要であることを改めて認識した.また、今後は職業としてプログラミング能力を身につける必要があるという意識もある.
    ps.文系は誰もが国語が得意ではない.これは私の物語です.