-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path23.js
More file actions
29 lines (25 loc) · 653 Bytes
/
23.js
File metadata and controls
29 lines (25 loc) · 653 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var out = require("./timer");
var numbers = require("./numbers");
var abundant=[];
var max = 28123;
/*
*
* quicker way possibly calculate sum of all integers, then subtract
* the found abundant numbers
*/
for (var i=1;i<=max;i++){ //load all relevant abundant numbers
abundant[i] = numbers.isAbundant(i);
}
function testSum(n){
var limit = Math.floor(n/2);
for (var i in abundant) {
if (i > limit) return false;
if (abundant[i] && abundant[n-i]) return true;
}
return false;
}
var sum=max * (max + 1) / 2; //sum of all integers
for (var i in abundant){ //load all relevant abundant numbers
if (testSum(i)) sum -= i;
}
out.print(sum);