Files
ValueScript/inputs/passing/projEuler/p21.ts
Andrew Morris c65f196121 p28
2023-03-10 11:00:37 +11:00

25 lines
463 B
TypeScript

import plus from "./helpers/plus.ts";
import { properFactorSum } from "./helpers/properFactorSum.ts";
export default function main() {
let amicableNumbers = [];
for (let i = 2; i < 10_000; i++) {
if (isAmicable(i)) {
amicableNumbers.push(i);
}
}
return amicableNumbers.reduce(plus);
}
function isAmicable(n: number) {
const fSum = properFactorSum(n);
if (fSum === n) {
return false;
}
return properFactorSum(fSum) === n;
}