👏
1から1000までの間にある完全数
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