UNPKG

hexlet-braingames-by-mput

Version:

Learning Hexlet.io node.js project implementation.

44 lines (34 loc) 3.61 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _hexletPairs = require('hexlet-pairs'); var _ = require('..'); var _2 = _interopRequireDefault(_); var _utils = require('../utils'); var _utils2 = _interopRequireDefault(_utils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var description = 'Find the greatest common divisor of given numbers.'; var findGcd = function findGcd(a, b) { var iterGcd = function iterGcd(curNum) { if (curNum === 1) { return curNum; } else if (a % curNum === 0 && b % curNum === 0) { return curNum; } return iterGcd(curNum - 1); }; var smallestNum = a < b ? a : b; return iterGcd(smallestNum); }; var getQueAndAnsw = function getQueAndAnsw() { var firstNumber = (0, _utils2.default)(20); var secondNumber = (0, _utils2.default)(20); var question = firstNumber + ' ' + secondNumber; var answer = findGcd(firstNumber, secondNumber); return (0, _hexletPairs.cons)(question, String(answer)); }; exports.default = function () { return (0, _2.default)(description, getQueAndAnsw); }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nY2RHYW1lLmpzIl0sIm5hbWVzIjpbImRlc2NyaXB0aW9uIiwiZmluZEdjZCIsImEiLCJiIiwiaXRlckdjZCIsImN1ck51bSIsInNtYWxsZXN0TnVtIiwiZ2V0UXVlQW5kQW5zdyIsImZpcnN0TnVtYmVyIiwic2Vjb25kTnVtYmVyIiwicXVlc3Rpb24iLCJhbnN3ZXIiLCJTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsb0RBQXBCO0FBQ0EsSUFBTUMsVUFBVSxTQUFWQSxPQUFVLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQ3hCLE1BQU1DLFVBQVUsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBSUEsV0FBVyxDQUFmLEVBQWtCO0FBQ2hCLGFBQU9BLE1BQVA7QUFDRCxLQUZELE1BRU8sSUFBS0gsSUFBSUcsTUFBSixLQUFlLENBQWhCLElBQXVCRixJQUFJRSxNQUFKLEtBQWUsQ0FBMUMsRUFBOEM7QUFDbkQsYUFBT0EsTUFBUDtBQUNEO0FBQ0QsV0FBT0QsUUFBUUMsU0FBUyxDQUFqQixDQUFQO0FBQ0QsR0FQRDtBQVFBLE1BQU1DLGNBQWVKLElBQUlDLENBQUwsR0FBVUQsQ0FBVixHQUFjQyxDQUFsQztBQUNBLFNBQU9DLFFBQVFFLFdBQVIsQ0FBUDtBQUNELENBWEQ7O0FBYUEsSUFBTUMsZ0JBQWdCLFNBQWhCQSxhQUFnQixHQUFNO0FBQzFCLE1BQU1DLGNBQWMscUJBQVUsRUFBVixDQUFwQjtBQUNBLE1BQU1DLGVBQWUscUJBQVUsRUFBVixDQUFyQjtBQUNBLE1BQU1DLFdBQWNGLFdBQWQsU0FBNkJDLFlBQW5DO0FBQ0EsTUFBTUUsU0FBU1YsUUFBUU8sV0FBUixFQUFxQkMsWUFBckIsQ0FBZjtBQUNBLFNBQU8sdUJBQUtDLFFBQUwsRUFBZUUsT0FBT0QsTUFBUCxDQUFmLENBQVA7QUFDRCxDQU5EOztrQkFRZTtBQUFBLFNBQU0sZ0JBQVFYLFdBQVIsRUFBcUJPLGFBQXJCLENBQU47QUFBQSxDIiwiZmlsZSI6ImdjZEdhbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcbmltcG9ydCBuZXdHYW1lIGZyb20gJy4uJztcbmltcG9ydCByYW5kb21JbnQgZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBkZXNjcmlwdGlvbiA9ICdGaW5kIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBnaXZlbiBudW1iZXJzLic7XG5jb25zdCBmaW5kR2NkID0gKGEsIGIpID0+IHtcbiAgY29uc3QgaXRlckdjZCA9IChjdXJOdW0pID0+IHtcbiAgICBpZiAoY3VyTnVtID09PSAxKSB7XG4gICAgICByZXR1cm4gY3VyTnVtO1xuICAgIH0gZWxzZSBpZiAoKGEgJSBjdXJOdW0gPT09IDApICYmIChiICUgY3VyTnVtID09PSAwKSkge1xuICAgICAgcmV0dXJuIGN1ck51bTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZXJHY2QoY3VyTnVtIC0gMSk7XG4gIH07XG4gIGNvbnN0IHNtYWxsZXN0TnVtID0gKGEgPCBiKSA/IGEgOiBiO1xuICByZXR1cm4gaXRlckdjZChzbWFsbGVzdE51bSk7XG59O1xuXG5jb25zdCBnZXRRdWVBbmRBbnN3ID0gKCkgPT4ge1xuICBjb25zdCBmaXJzdE51bWJlciA9IHJhbmRvbUludCgyMCk7XG4gIGNvbnN0IHNlY29uZE51bWJlciA9IHJhbmRvbUludCgyMCk7XG4gIGNvbnN0IHF1ZXN0aW9uID0gYCR7Zmlyc3ROdW1iZXJ9ICR7c2Vjb25kTnVtYmVyfWA7XG4gIGNvbnN0IGFuc3dlciA9IGZpbmRHY2QoZmlyc3ROdW1iZXIsIHNlY29uZE51bWJlcik7XG4gIHJldHVybiBjb25zKHF1ZXN0aW9uLCBTdHJpbmcoYW5zd2VyKSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiBuZXdHYW1lKGRlc2NyaXB0aW9uLCBnZXRRdWVBbmRBbnN3KTtcbiJdfQ==