mathball
Version:
A JavaScript library for Competitive Programming
42 lines (34 loc) • 771 B
JavaScript
;
var validate = require('../validation/positive-integer');
/**
* Find all divisors of a positive number and return an array of the same
*/
var findDivisors = function findDivisors(num) {
var divisorsArr = [0];
if (num === 1) {
divisorsArr = [0];
} else {
for (var i = 1; i < num - 1; i++) {
if (num % i === 0) {
divisorsArr.push(i);
}
}
}
return divisorsArr;
};
/**
* add all divisors
*/
var addAllDivisors = function addAllDivisors(arr) {
var add = function add(total, num) {
return total + num;
};
return arr.reduce(add);
};
exports.check = function (num) {
validate(num, 'deficient');
var divisors = findDivisors(num);
var sum = addAllDivisors(divisors);
return sum < num ? true : false;
};
// console.log(d(10));