drytikov/brain-games

View on GitHub
src/games/gcd.js

Summary

Maintainability
A
0 mins
Test Coverage
import runGame from '..';
import random from '../utils';


const description = 'Find the greatest common divisor of given numbers.';

const nod = (num1, num2) => {
  if (num2 === 0) {
    return num1;
  }
  return nod(num2, num1 % num2);
};

const getCorrectAnswer = (num1, num2) => String(nod(num1, num2));

const getInputParams = () => {
  const num1 = random(1000);
  const num2 = random(1000);
  const question = `${num1} ${num2}`;
  const correctAnswer = getCorrectAnswer(num1, num2);
  return {
    question,
    correctAnswer,
  };
};

export default userName => runGame(userName, description, getInputParams);