UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

42 lines (34 loc) 771 B
'use strict'; 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));