UNPKG

brain-games-from-ak

Version:

[![Maintainability](https://api.codeclimate.com/v1/badges/533a02e49b11f0d4b4c3/maintainability)](https://codeclimate.com/github/AndreyKashaev/project-lvl1-s308/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/533a02e49b11f0d4b4c3/t

48 lines (37 loc) 3.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _hexletPairs = require('hexlet-pairs'); var _ = require('..'); var _utils = require('../utils'); var _utils2 = _interopRequireDefault(_utils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var description = function description() { return 'Find the greatest common divisor of given numbers.'; }; var getMaxDevisor = function getMaxDevisor(x, y) { var maxNumber = Math.max(x, y); var minNumber = Math.min(x, y); if (maxNumber % minNumber === 0) { return minNumber; } var devisor = Math.floor(minNumber / 2); while (devisor > 1) { if (maxNumber % devisor === 0 && minNumber % devisor === 0) { return devisor; } devisor -= 1; } return 1; }; var getGameData = function getGameData() { var firstNumber = (0, _utils2.default)(1, 100); var secondNumber = (0, _utils2.default)(1, 100); return (0, _hexletPairs.cons)(firstNumber + ' ' + secondNumber, '' + getMaxDevisor(firstNumber, secondNumber)); }; var gcd = function gcd() { return (0, _.flow)(description(), getGameData); }; exports.default = gcd; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9nY2QuanMiXSwibmFtZXMiOlsiZGVzY3JpcHRpb24iLCJnZXRNYXhEZXZpc29yIiwieCIsInkiLCJtYXhOdW1iZXIiLCJNYXRoIiwibWF4IiwibWluTnVtYmVyIiwibWluIiwiZGV2aXNvciIsImZsb29yIiwiZ2V0R2FtZURhdGEiLCJmaXJzdE51bWJlciIsInNlY29uZE51bWJlciIsImdjZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsU0FBZEEsV0FBYztBQUFBLFNBQU0sb0RBQU47QUFBQSxDQUFwQjs7QUFFQSxJQUFNQyxnQkFBZ0IsU0FBaEJBLGFBQWdCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQzlCLE1BQU1DLFlBQVlDLEtBQUtDLEdBQUwsQ0FBU0osQ0FBVCxFQUFZQyxDQUFaLENBQWxCO0FBQ0EsTUFBTUksWUFBWUYsS0FBS0csR0FBTCxDQUFTTixDQUFULEVBQVlDLENBQVosQ0FBbEI7QUFDQSxNQUFJQyxZQUFZRyxTQUFaLEtBQTBCLENBQTlCLEVBQWlDO0FBQy9CLFdBQU9BLFNBQVA7QUFDRDtBQUNELE1BQUlFLFVBQVVKLEtBQUtLLEtBQUwsQ0FBV0gsWUFBWSxDQUF2QixDQUFkO0FBQ0EsU0FBT0UsVUFBVSxDQUFqQixFQUFvQjtBQUNsQixRQUFLTCxZQUFZSyxPQUFaLEtBQXdCLENBQXpCLElBQWdDRixZQUFZRSxPQUFaLEtBQXdCLENBQTVELEVBQWdFO0FBQzlELGFBQU9BLE9BQVA7QUFDRDtBQUNEQSxlQUFXLENBQVg7QUFDRDtBQUNELFNBQU8sQ0FBUDtBQUNELENBZEQ7O0FBZ0JBLElBQU1FLGNBQWMsU0FBZEEsV0FBYyxHQUFNO0FBQ3hCLE1BQU1DLGNBQWMscUJBQWUsQ0FBZixFQUFrQixHQUFsQixDQUFwQjtBQUNBLE1BQU1DLGVBQWUscUJBQWUsQ0FBZixFQUFrQixHQUFsQixDQUFyQjtBQUNBLFNBQU8sdUJBQVFELFdBQVIsU0FBdUJDLFlBQXZCLE9BQTBDWixjQUFjVyxXQUFkLEVBQTJCQyxZQUEzQixDQUExQyxDQUFQO0FBQ0QsQ0FKRDs7QUFNQSxJQUFNQyxNQUFNLFNBQU5BLEdBQU07QUFBQSxTQUFNLFlBQUtkLGFBQUwsRUFBb0JXLFdBQXBCLENBQU47QUFBQSxDQUFaOztrQkFFZUcsRyIsImZpbGUiOiJnY2QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcbmltcG9ydCB7IGZsb3cgfSBmcm9tICcuLic7XG5pbXBvcnQgZ2VuZXJhdGVOdW1iZXIgZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBkZXNjcmlwdGlvbiA9ICgpID0+ICdGaW5kIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBnaXZlbiBudW1iZXJzLic7XG5cbmNvbnN0IGdldE1heERldmlzb3IgPSAoeCwgeSkgPT4ge1xuICBjb25zdCBtYXhOdW1iZXIgPSBNYXRoLm1heCh4LCB5KTtcbiAgY29uc3QgbWluTnVtYmVyID0gTWF0aC5taW4oeCwgeSk7XG4gIGlmIChtYXhOdW1iZXIgJSBtaW5OdW1iZXIgPT09IDApIHtcbiAgICByZXR1cm4gbWluTnVtYmVyO1xuICB9XG4gIGxldCBkZXZpc29yID0gTWF0aC5mbG9vcihtaW5OdW1iZXIgLyAyKTtcbiAgd2hpbGUgKGRldmlzb3IgPiAxKSB7XG4gICAgaWYgKChtYXhOdW1iZXIgJSBkZXZpc29yID09PSAwKSAmJiAobWluTnVtYmVyICUgZGV2aXNvciA9PT0gMCkpIHtcbiAgICAgIHJldHVybiBkZXZpc29yO1xuICAgIH1cbiAgICBkZXZpc29yIC09IDE7XG4gIH1cbiAgcmV0dXJuIDE7XG59O1xuXG5jb25zdCBnZXRHYW1lRGF0YSA9ICgpID0+IHtcbiAgY29uc3QgZmlyc3ROdW1iZXIgPSBnZW5lcmF0ZU51bWJlcigxLCAxMDApO1xuICBjb25zdCBzZWNvbmROdW1iZXIgPSBnZW5lcmF0ZU51bWJlcigxLCAxMDApO1xuICByZXR1cm4gY29ucyhgJHtmaXJzdE51bWJlcn0gJHtzZWNvbmROdW1iZXJ9YCwgYCR7Z2V0TWF4RGV2aXNvcihmaXJzdE51bWJlciwgc2Vjb25kTnVtYmVyKX1gKTtcbn07XG5cbmNvbnN0IGdjZCA9ICgpID0+IGZsb3coZGVzY3JpcHRpb24oKSwgZ2V0R2FtZURhdGEpO1xuXG5leHBvcnQgZGVmYXVsdCBnY2Q7XG4iXX0=