File tree Expand file tree Collapse file tree 2 files changed +32
-21
lines changed Expand file tree Collapse file tree 2 files changed +32
-21
lines changed Original file line number Diff line number Diff line change @@ -4,22 +4,28 @@ import getRandomInRange from '../utils.js';
44
55const questionGame = 'What is the result of the expression?' ;
66
7+ const calculation = ( num1 , num2 , operator ) => {
8+ switch ( operator ) {
9+ case '+' :
10+ return num1 + num2 ;
11+ case '-' :
12+ return num1 - num2 ;
13+ case '*' :
14+ return num1 * num2 ;
15+ default :
16+ throw new Error ( `Invalid operator - ${ operator } ` ) ;
17+ }
18+ } ;
19+
720const generateRound = ( ) => {
821 const number1 = getRandomInRange ( ) ;
922 const number2 = getRandomInRange ( ) ;
1023 const operators = [ '+' , '-' , '*' ] ;
1124 const mathOperation = getRandomInRange ( 0 , operators . length - 1 ) ;
12- const oper = operators [ mathOperation ] ;
13- const question = `Question: ${ number1 } ${ oper } ${ number2 } ` ;
14-
15- let answer = 0 ;
16- if ( oper === '+' ) {
17- answer = `${ number1 + number2 } ` ;
18- } else if ( oper === '-' ) {
19- answer = `${ number1 - number2 } ` ;
20- } else if ( oper === '*' ) {
21- answer = `${ number1 * number2 } ` ;
22- }
25+ const operator = operators [ mathOperation ] ;
26+ const question = `Question: ${ number1 } ${ operator } ${ number2 } ` ;
27+
28+ const answer = calculation ( number1 , number2 , operator ) . toString ( ) ;
2329
2430 return [ question , answer ] ;
2531} ;
Original file line number Diff line number Diff line change @@ -4,18 +4,23 @@ import getRandomInRange from '../utils.js';
44
55const questionGame = 'Find the greatest common divisor of given numbers.' ;
66
7+ const gsd = ( number1 , number2 ) => {
8+ let a = number1 ;
9+ let b = number2 ;
10+ while ( b !== 0 ) {
11+ const temp = b ;
12+ b = a % b ;
13+ a = temp ;
14+ }
15+
16+ return a ;
17+ } ;
18+
719const generateRound = ( ) => {
8- let number1 = getRandomInRange ( ) ;
9- let number2 = getRandomInRange ( ) ;
20+ const number1 = getRandomInRange ( ) ;
21+ const number2 = getRandomInRange ( ) ;
1022 const question = `Question: ${ number1 } ${ number2 } ` ;
11-
12- let answer = 0 ;
13- while ( number2 !== 0 ) {
14- const temp = number2 ;
15- number2 = number1 % number2 ;
16- number1 = temp ;
17- }
18- answer = number1 . toString ( ) ;
23+ const answer = gsd ( number1 , number2 ) . toString ( ) ;
1924
2025 return [ question , answer ] ;
2126} ;
You can’t perform that action at this time.
0 commit comments