UNPKG

@nox_wave/hexlet-braingames

Version:
44 lines (34 loc) 4.13 kB
'use strict'; 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=