project-lvl1-s132
Version:
Brain Games
55 lines (41 loc) • 4.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _start = require('../start');
var _start2 = _interopRequireDefault(_start);
var _lib = require('../lib');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var rulesMessage = 'Balance the given number.';
var limitMaxNumber = 1000;
var balance = function balance(num) {
var str = num.toString();
var input = str.split('');
var inputLength = input.length;
var inputDigit = input.map(function (val) {
return +val;
});
var sum = inputDigit.reduce(function (acc, val) {
return acc + val;
}, 0);
var evenDigit = Math.floor(sum / inputLength);
var remainder = sum % inputLength;
var output = [];
while (remainder > 0) {
output.push(evenDigit + 1);
remainder -= 1;
}
while (inputLength > output.length) {
output.push(evenDigit);
}
return +output.reverse().join('');
};
var getQuestionAnswerPair = function getQuestionAnswerPair() {
var question = (0, _lib.getRandomInt)(limitMaxNumber);
var correctAnswer = balance(question).toString();
return { question: question, correctAnswer: correctAnswer };
};
exports.default = function () {
return (0, _start2.default)(rulesMessage, getQuestionAnswerPair);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9iYWxhbmNlLmpzIl0sIm5hbWVzIjpbInJ1bGVzTWVzc2FnZSIsImxpbWl0TWF4TnVtYmVyIiwiYmFsYW5jZSIsIm51bSIsInN0ciIsInRvU3RyaW5nIiwiaW5wdXQiLCJzcGxpdCIsImlucHV0TGVuZ3RoIiwibGVuZ3RoIiwiaW5wdXREaWdpdCIsIm1hcCIsInZhbCIsInN1bSIsInJlZHVjZSIsImFjYyIsImV2ZW5EaWdpdCIsIk1hdGgiLCJmbG9vciIsInJlbWFpbmRlciIsIm91dHB1dCIsInB1c2giLCJyZXZlcnNlIiwiam9pbiIsImdldFF1ZXN0aW9uQW5zd2VyUGFpciIsInF1ZXN0aW9uIiwiY29ycmVjdEFuc3dlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBLElBQU1BLGVBQWUsMkJBQXJCOztBQUVBLElBQU1DLGlCQUFpQixJQUF2Qjs7QUFFQSxJQUFNQyxVQUFVLFNBQVZBLE9BQVUsQ0FBQ0MsR0FBRCxFQUFTO0FBQ3ZCLE1BQU1DLE1BQU1ELElBQUlFLFFBQUosRUFBWjs7QUFFQSxNQUFNQyxRQUFRRixJQUFJRyxLQUFKLENBQVUsRUFBVixDQUFkO0FBQ0EsTUFBTUMsY0FBY0YsTUFBTUcsTUFBMUI7QUFDQSxNQUFNQyxhQUFhSixNQUFNSyxHQUFOLENBQVU7QUFBQSxXQUFPLENBQUNDLEdBQVI7QUFBQSxHQUFWLENBQW5CO0FBQ0EsTUFBTUMsTUFBTUgsV0FBV0ksTUFBWCxDQUFrQixVQUFDQyxHQUFELEVBQU1ILEdBQU47QUFBQSxXQUFjRyxNQUFNSCxHQUFwQjtBQUFBLEdBQWxCLEVBQTJDLENBQTNDLENBQVo7QUFDQSxNQUFNSSxZQUFZQyxLQUFLQyxLQUFMLENBQVdMLE1BQU1MLFdBQWpCLENBQWxCO0FBQ0EsTUFBSVcsWUFBWU4sTUFBTUwsV0FBdEI7O0FBRUEsTUFBTVksU0FBUyxFQUFmO0FBQ0EsU0FBT0QsWUFBWSxDQUFuQixFQUFzQjtBQUNwQkMsV0FBT0MsSUFBUCxDQUFZTCxZQUFZLENBQXhCO0FBQ0FHLGlCQUFhLENBQWI7QUFDRDtBQUNELFNBQU9YLGNBQWNZLE9BQU9YLE1BQTVCLEVBQW9DO0FBQ2xDVyxXQUFPQyxJQUFQLENBQVlMLFNBQVo7QUFDRDs7QUFFRCxTQUFPLENBQUNJLE9BQU9FLE9BQVAsR0FBaUJDLElBQWpCLENBQXNCLEVBQXRCLENBQVI7QUFDRCxDQXBCRDs7QUFzQkEsSUFBTUMsd0JBQXdCLFNBQXhCQSxxQkFBd0IsR0FBTTtBQUNsQyxNQUFNQyxXQUFXLHVCQUFheEIsY0FBYixDQUFqQjtBQUNBLE1BQU15QixnQkFBZ0J4QixRQUFRdUIsUUFBUixFQUFrQnBCLFFBQWxCLEVBQXRCOztBQUVBLFNBQU8sRUFBRW9CLGtCQUFGLEVBQVlDLDRCQUFaLEVBQVA7QUFDRCxDQUxEOztrQkFPZTtBQUFBLFNBQU0scUJBQU0xQixZQUFOLEVBQW9Cd0IscUJBQXBCLENBQU47QUFBQSxDIiwiZmlsZSI6ImJhbGFuY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBzdGFydCBmcm9tICcuLi9zdGFydCc7XG5pbXBvcnQgeyBnZXRSYW5kb21JbnQgfSBmcm9tICcuLi9saWInO1xuXG5jb25zdCBydWxlc01lc3NhZ2UgPSAnQmFsYW5jZSB0aGUgZ2l2ZW4gbnVtYmVyLic7XG5cbmNvbnN0IGxpbWl0TWF4TnVtYmVyID0gMTAwMDtcblxuY29uc3QgYmFsYW5jZSA9IChudW0pID0+IHtcbiAgY29uc3Qgc3RyID0gbnVtLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgaW5wdXQgPSBzdHIuc3BsaXQoJycpO1xuICBjb25zdCBpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0aDtcbiAgY29uc3QgaW5wdXREaWdpdCA9IGlucHV0Lm1hcCh2YWwgPT4gK3ZhbCk7XG4gIGNvbnN0IHN1bSA9IGlucHV0RGlnaXQucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKTtcbiAgY29uc3QgZXZlbkRpZ2l0ID0gTWF0aC5mbG9vcihzdW0gLyBpbnB1dExlbmd0aCk7XG4gIGxldCByZW1haW5kZXIgPSBzdW0gJSBpbnB1dExlbmd0aDtcblxuICBjb25zdCBvdXRwdXQgPSBbXTtcbiAgd2hpbGUgKHJlbWFpbmRlciA+IDApIHtcbiAgICBvdXRwdXQucHVzaChldmVuRGlnaXQgKyAxKTtcbiAgICByZW1haW5kZXIgLT0gMTtcbiAgfVxuICB3aGlsZSAoaW5wdXRMZW5ndGggPiBvdXRwdXQubGVuZ3RoKSB7XG4gICAgb3V0cHV0LnB1c2goZXZlbkRpZ2l0KTtcbiAgfVxuXG4gIHJldHVybiArb3V0cHV0LnJldmVyc2UoKS5qb2luKCcnKTtcbn07XG5cbmNvbnN0IGdldFF1ZXN0aW9uQW5zd2VyUGFpciA9ICgpID0+IHtcbiAgY29uc3QgcXVlc3Rpb24gPSBnZXRSYW5kb21JbnQobGltaXRNYXhOdW1iZXIpO1xuICBjb25zdCBjb3JyZWN0QW5zd2VyID0gYmFsYW5jZShxdWVzdGlvbikudG9TdHJpbmcoKTtcblxuICByZXR1cm4geyBxdWVzdGlvbiwgY29ycmVjdEFuc3dlciB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gc3RhcnQocnVsZXNNZXNzYWdlLCBnZXRRdWVzdGlvbkFuc3dlclBhaXIpO1xuIl19