👏

1から1000までの間にある完全数

2024/11/21に公開

1から1000までの間にある完全数を出力するコードを書いてみた。

コード

const maxNumber = 1000;
for (let currentNumber = 1; currentNumber < maxNumber; currentNumber++) {
  let divisors = []
  for (let potentialDivisor = 1; potentialDivisor < maxNumber; potentialDivisor++) {
    if (currentNumber > potentialDivisor) {
      if (currentNumber % potentialDivisor === 0) {
        divisors.push(potentialDivisor)
      }
    } else if (divisors.length !== 0) {
      // 約数の合計を計算
      const sumOfDivisors = divisors.reduce(
        (a, b) => a + b
      ); 
      if (currentNumber === sumOfDivisors) {
        console.log(maxNumber + "までの完全数: " + currentNumber);
      }
      break;
    }
  }
}

結果

1000までの完全数: 6
1000までの完全数: 28
1000までの完全数: 496

Discussion