uladzislau97-brain-games
Version:
Set of console mini-games.
44 lines (33 loc) • 3.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _gameEngine = _interopRequireDefault(require("../game-engine"));
var _utils = _interopRequireDefault(require("../utils"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const gameDescription = 'Answer "yes" if given number is prime. Otherwise answer "no".';
const isPrime = number => {
const minPrimeNumber = 2;
if (number < minPrimeNumber) return false;
const maxPossibleDivider = Math.floor(Math.sqrt(number));
const iter = n => {
if (n > maxPossibleDivider) return true;
if (number % n === 0) return false;
return iter(n + 1);
};
return iter(minPrimeNumber);
};
const generateTask = () => {
const question = (0, _utils.default)();
const correctAnswer = isPrime(question) ? 'yes' : 'no';
return {
question,
correctAnswer
};
};
var _default = () => {
(0, _gameEngine.default)(gameDescription, generateTask);
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcmltZS5qcyJdLCJuYW1lcyI6WyJnYW1lRGVzY3JpcHRpb24iLCJpc1ByaW1lIiwibnVtYmVyIiwibWluUHJpbWVOdW1iZXIiLCJtYXhQb3NzaWJsZURpdmlkZXIiLCJNYXRoIiwiZmxvb3IiLCJzcXJ0IiwiaXRlciIsIm4iLCJnZW5lcmF0ZVRhc2siLCJxdWVzdGlvbiIsImNvcnJlY3RBbnN3ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLGVBQWUsR0FBRywrREFBeEI7O0FBRUEsTUFBTUMsT0FBTyxHQUFJQyxNQUFELElBQVk7QUFDMUIsUUFBTUMsY0FBYyxHQUFHLENBQXZCO0FBRUEsTUFBSUQsTUFBTSxHQUFHQyxjQUFiLEVBQTZCLE9BQU8sS0FBUDtBQUU3QixRQUFNQyxrQkFBa0IsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsSUFBTCxDQUFVTCxNQUFWLENBQVgsQ0FBM0I7O0FBRUEsUUFBTU0sSUFBSSxHQUFJQyxDQUFELElBQU87QUFDbEIsUUFBSUEsQ0FBQyxHQUFHTCxrQkFBUixFQUE0QixPQUFPLElBQVA7QUFDNUIsUUFBSUYsTUFBTSxHQUFHTyxDQUFULEtBQWUsQ0FBbkIsRUFBc0IsT0FBTyxLQUFQO0FBQ3RCLFdBQU9ELElBQUksQ0FBQ0MsQ0FBQyxHQUFHLENBQUwsQ0FBWDtBQUNELEdBSkQ7O0FBTUEsU0FBT0QsSUFBSSxDQUFDTCxjQUFELENBQVg7QUFDRCxDQWREOztBQWdCQSxNQUFNTyxZQUFZLEdBQUcsTUFBTTtBQUN6QixRQUFNQyxRQUFRLEdBQUcscUJBQWpCO0FBQ0EsUUFBTUMsYUFBYSxHQUFHWCxPQUFPLENBQUNVLFFBQUQsQ0FBUCxHQUFvQixLQUFwQixHQUE0QixJQUFsRDtBQUNBLFNBQU87QUFBRUEsSUFBQUEsUUFBRjtBQUFZQyxJQUFBQTtBQUFaLEdBQVA7QUFDRCxDQUpEOztlQU1lLE1BQU07QUFDbkIsMkJBQVFaLGVBQVIsRUFBeUJVLFlBQXpCO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW5HYW1lIGZyb20gJy4uL2dhbWUtZW5naW5lJztcbmltcG9ydCBnZW5lcmF0ZVJhbmRvbU51bWJlciBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGdhbWVEZXNjcmlwdGlvbiA9ICdBbnN3ZXIgXCJ5ZXNcIiBpZiBnaXZlbiBudW1iZXIgaXMgcHJpbWUuIE90aGVyd2lzZSBhbnN3ZXIgXCJub1wiLic7XG5cbmNvbnN0IGlzUHJpbWUgPSAobnVtYmVyKSA9PiB7XG4gIGNvbnN0IG1pblByaW1lTnVtYmVyID0gMjtcblxuICBpZiAobnVtYmVyIDwgbWluUHJpbWVOdW1iZXIpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBtYXhQb3NzaWJsZURpdmlkZXIgPSBNYXRoLmZsb29yKE1hdGguc3FydChudW1iZXIpKTtcblxuICBjb25zdCBpdGVyID0gKG4pID0+IHtcbiAgICBpZiAobiA+IG1heFBvc3NpYmxlRGl2aWRlcikgcmV0dXJuIHRydWU7XG4gICAgaWYgKG51bWJlciAlIG4gPT09IDApIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXRlcihuICsgMSk7XG4gIH07XG5cbiAgcmV0dXJuIGl0ZXIobWluUHJpbWVOdW1iZXIpO1xufTtcblxuY29uc3QgZ2VuZXJhdGVUYXNrID0gKCkgPT4ge1xuICBjb25zdCBxdWVzdGlvbiA9IGdlbmVyYXRlUmFuZG9tTnVtYmVyKCk7XG4gIGNvbnN0IGNvcnJlY3RBbnN3ZXIgPSBpc1ByaW1lKHF1ZXN0aW9uKSA/ICd5ZXMnIDogJ25vJztcbiAgcmV0dXJuIHsgcXVlc3Rpb24sIGNvcnJlY3RBbnN3ZXIgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcnVuR2FtZShnYW1lRGVzY3JpcHRpb24sIGdlbmVyYXRlVGFzayk7XG59O1xuIl19