UNPKG

braingk58

Version:
44 lines (31 loc) 3.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ = _interopRequireDefault(require("..")); var _utils = _interopRequireDefault(require("../utils")); var _hexletPairs = require("hexlet-pairs"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const isPerfect = num => { if (num === 0) { return false; } let sum = 0; const upperBorder = num / 2; for (let divisor = 1; divisor <= upperBorder; divisor += 1) { if (num % divisor === 0) { sum += divisor; } } return sum === num; }; const description = 'Answer "yes" if number perfect otherwise answer "no"'; // Perfect number, a positive integer that is equal to the sum of its proper divisors. const perfectGame = () => { const question = (0, _utils.default)(1, 50); const answer = isPerfect(question) ? 'yes' : 'no'; return (0, _hexletPairs.cons)(question, answer); }; var _default = () => (0, _.default)(description, perfectGame); exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wZXJmZWN0LmpzIl0sIm5hbWVzIjpbImlzUGVyZmVjdCIsIm51bSIsInN1bSIsInVwcGVyQm9yZGVyIiwiZGl2aXNvciIsImRlc2NyaXB0aW9uIiwicGVyZmVjdEdhbWUiLCJxdWVzdGlvbiIsImFuc3dlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsU0FBUyxHQUFJQyxHQUFELElBQVM7QUFDekIsTUFBSUEsR0FBRyxLQUFLLENBQVosRUFBZTtBQUNiLFdBQU8sS0FBUDtBQUNEOztBQUNELE1BQUlDLEdBQUcsR0FBRyxDQUFWO0FBQ0EsUUFBTUMsV0FBVyxHQUFHRixHQUFHLEdBQUcsQ0FBMUI7O0FBQ0EsT0FBSyxJQUFJRyxPQUFPLEdBQUcsQ0FBbkIsRUFBc0JBLE9BQU8sSUFBSUQsV0FBakMsRUFBOENDLE9BQU8sSUFBSSxDQUF6RCxFQUE0RDtBQUMxRCxRQUFJSCxHQUFHLEdBQUdHLE9BQU4sS0FBa0IsQ0FBdEIsRUFBeUI7QUFDdkJGLE1BQUFBLEdBQUcsSUFBSUUsT0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT0YsR0FBRyxLQUFLRCxHQUFmO0FBQ0QsQ0FaRDs7QUFhQSxNQUFNSSxXQUFXLEdBQUcsc0RBQXBCLEMsQ0FDQTs7QUFDQSxNQUFNQyxXQUFXLEdBQUcsTUFBTTtBQUN4QixRQUFNQyxRQUFRLEdBQUcsb0JBQVksQ0FBWixFQUFlLEVBQWYsQ0FBakI7QUFDQSxRQUFNQyxNQUFNLEdBQUdSLFNBQVMsQ0FBQ08sUUFBRCxDQUFULEdBQXNCLEtBQXRCLEdBQThCLElBQTdDO0FBQ0EsU0FBTyx1QkFBS0EsUUFBTCxFQUFlQyxNQUFmLENBQVA7QUFDRCxDQUpEOztlQUtlLE1BQU0sZUFBU0gsV0FBVCxFQUFzQkMsV0FBdEIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnYW1lRmxvdyBmcm9tICcuLic7XG5pbXBvcnQgZ2VuZXJhdGVOdW0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY29ucyB9IGZyb20gJ2hleGxldC1wYWlycyc7XG5cbmNvbnN0IGlzUGVyZmVjdCA9IChudW0pID0+IHtcbiAgaWYgKG51bSA9PT0gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBsZXQgc3VtID0gMDtcbiAgY29uc3QgdXBwZXJCb3JkZXIgPSBudW0gLyAyO1xuICBmb3IgKGxldCBkaXZpc29yID0gMTsgZGl2aXNvciA8PSB1cHBlckJvcmRlcjsgZGl2aXNvciArPSAxKSB7XG4gICAgaWYgKG51bSAlIGRpdmlzb3IgPT09IDApIHtcbiAgICAgIHN1bSArPSBkaXZpc29yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3VtID09PSBudW07XG59O1xuY29uc3QgZGVzY3JpcHRpb24gPSAnQW5zd2VyIFwieWVzXCIgaWYgbnVtYmVyIHBlcmZlY3Qgb3RoZXJ3aXNlIGFuc3dlciBcIm5vXCInO1xuLy8gUGVyZmVjdCBudW1iZXIsIGEgcG9zaXRpdmUgaW50ZWdlciB0aGF0IGlzIGVxdWFsIHRvIHRoZSBzdW0gb2YgaXRzIHByb3BlciBkaXZpc29ycy5cbmNvbnN0IHBlcmZlY3RHYW1lID0gKCkgPT4ge1xuICBjb25zdCBxdWVzdGlvbiA9IGdlbmVyYXRlTnVtKDEsIDUwKTtcbiAgY29uc3QgYW5zd2VyID0gaXNQZXJmZWN0KHF1ZXN0aW9uKSA/ICd5ZXMnIDogJ25vJztcbiAgcmV0dXJuIGNvbnMocXVlc3Rpb24sIGFuc3dlcik7XG59O1xuZXhwb3J0IGRlZmF1bHQgKCkgPT4gZ2FtZUZsb3coZGVzY3JpcHRpb24sIHBlcmZlY3RHYW1lKTtcbiJdfQ==