@nox_wave/hexlet-braingames
Version:
Brain Games. A set of mini-games.
44 lines (34 loc) • 4.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _ = require('..');
var _getRandomInteger = require('../utils/get-random-integer');
var _getRandomInteger2 = _interopRequireDefault(_getRandomInteger);
var _constants = require('../constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var gcd = function gcd(a, b) {
if (b === 0) return a;
return gcd(b, a % b);
};
exports.default = function () {
var getQuestion = function getQuestion() {
return (0, _getRandomInteger2.default)(_constants.minRandomInteger, _constants.maxRandomInteger) + ' ' + (0, _getRandomInteger2.default)(_constants.minRandomInteger, _constants.maxRandomInteger);
};
var getAnswer = function getAnswer(question) {
var _question$split$map = question.split(' ').map(function (n) {
return Number.parseInt(n, 10);
}),
_question$split$map2 = _slicedToArray(_question$split$map, 2),
num1 = _question$split$map2[0],
num2 = _question$split$map2[1];
return '' + gcd(num1, num2);
};
(0, _.runGame)({
instruction: 'Find the greatest common divisor of given numbers.',
getQuestion: getQuestion,
getAnswer: getAnswer
});
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9icmFpbi1nY2QuanMiXSwibmFtZXMiOlsiZ2NkIiwiYSIsImIiLCJnZXRRdWVzdGlvbiIsIm1pblJhbmRvbUludGVnZXIiLCJtYXhSYW5kb21JbnRlZ2VyIiwiZ2V0QW5zd2VyIiwicXVlc3Rpb24iLCJzcGxpdCIsIm1hcCIsIk51bWJlciIsInBhcnNlSW50IiwibiIsIm51bTEiLCJudW0yIiwiaW5zdHJ1Y3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBLElBQU1BLE1BQU0sU0FBTkEsR0FBTSxDQUFDQyxDQUFELEVBQUlDLENBQUosRUFBVTtBQUNwQixNQUFJQSxNQUFNLENBQVYsRUFBYSxPQUFPRCxDQUFQO0FBQ2IsU0FBT0QsSUFBSUUsQ0FBSixFQUFPRCxJQUFJQyxDQUFYLENBQVA7QUFDRCxDQUhEOztrQkFLZSxZQUFNO0FBQ25CLE1BQU1DLGNBQWMsU0FBZEEsV0FBYztBQUFBLFdBQ2YsZ0NBQWlCQywyQkFBakIsRUFBbUNDLDJCQUFuQyxDQURlLFNBQ3lDLGdDQUFpQkQsMkJBQWpCLEVBQW1DQywyQkFBbkMsQ0FEekM7QUFBQSxHQUFwQjtBQUVBLE1BQU1DLFlBQVksU0FBWkEsU0FBWSxDQUFDQyxRQUFELEVBQWM7QUFBQSw4QkFDVEEsU0FBU0MsS0FBVCxDQUFlLEdBQWYsRUFBb0JDLEdBQXBCLENBQXdCO0FBQUEsYUFBS0MsT0FBT0MsUUFBUCxDQUFnQkMsQ0FBaEIsRUFBbUIsRUFBbkIsQ0FBTDtBQUFBLEtBQXhCLENBRFM7QUFBQTtBQUFBLFFBQ3ZCQyxJQUR1QjtBQUFBLFFBQ2pCQyxJQURpQjs7QUFFOUIsZ0JBQVVkLElBQUlhLElBQUosRUFBVUMsSUFBVixDQUFWO0FBQ0QsR0FIRDtBQUlBLGlCQUFRO0FBQ05DLGlCQUFhLG9EQURQO0FBRU5aLDRCQUZNO0FBR05HO0FBSE0sR0FBUjtBQUtELEMiLCJmaWxlIjoiYnJhaW4tZ2NkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcnVuR2FtZSB9IGZyb20gJy4uJztcbmltcG9ydCBnZXRSYW5kb21JbnRlZ2VyIGZyb20gJy4uL3V0aWxzL2dldC1yYW5kb20taW50ZWdlcic7XG5pbXBvcnQgeyBtYXhSYW5kb21JbnRlZ2VyLCBtaW5SYW5kb21JbnRlZ2VyIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3QgZ2NkID0gKGEsIGIpID0+IHtcbiAgaWYgKGIgPT09IDApIHJldHVybiBhO1xuICByZXR1cm4gZ2NkKGIsIGEgJSBiKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgY29uc3QgZ2V0UXVlc3Rpb24gPSAoKSA9PlxuICAgIGAke2dldFJhbmRvbUludGVnZXIobWluUmFuZG9tSW50ZWdlciwgbWF4UmFuZG9tSW50ZWdlcil9ICR7Z2V0UmFuZG9tSW50ZWdlcihtaW5SYW5kb21JbnRlZ2VyLCBtYXhSYW5kb21JbnRlZ2VyKX1gO1xuICBjb25zdCBnZXRBbnN3ZXIgPSAocXVlc3Rpb24pID0+IHtcbiAgICBjb25zdCBbbnVtMSwgbnVtMl0gPSBxdWVzdGlvbi5zcGxpdCgnICcpLm1hcChuID0+IE51bWJlci5wYXJzZUludChuLCAxMCkpO1xuICAgIHJldHVybiBgJHtnY2QobnVtMSwgbnVtMil9YDtcbiAgfTtcbiAgcnVuR2FtZSh7XG4gICAgaW5zdHJ1Y3Rpb246ICdGaW5kIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBnaXZlbiBudW1iZXJzLicsXG4gICAgZ2V0UXVlc3Rpb24sXG4gICAgZ2V0QW5zd2VyLFxuICB9KTtcbn07XG4iXX0=