File tree Expand file tree Collapse file tree 4 files changed +42
-2
lines changed Expand file tree Collapse file tree 4 files changed +42
-2
lines changed Original file line number Diff line number Diff line change @@ -10,3 +10,5 @@ brain-even:
1010 ./bin/brain-even
1111brain-calc :
1212 ./bin/brain-calc
13+ brain-gcd :
14+ ./bin/brain-gcd
Original file line number Diff line number Diff line change 1+ #!/usr/bin/env php
2+
3+ <?php
4+
5+ require __DIR__ ."/../vendor/autoload.php " ;
6+
7+ \BrainGames \GcdGame \startGcdGame ();
Original file line number Diff line number Diff line change 77 "files" : [
88 " src/Cli.php" ,
99 " src/EvenGame.php" ,
10- " src/CalcGame.php"
10+ " src/CalcGame.php" ,
11+ " src/GcdGame.php"
1112 ]
1213 },
1314 "bin" : [
1415 " bin/brain-games" ,
1516 " bin/brain-even" ,
16- " bin/brain-calc"
17+ " bin/brain-calc" ,
18+ " bin/brain-gcd"
1719 ],
1820 "authors" : [
1921 {
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace BrainGames \GcdGame ;
4+
5+ use function BrainGames \Cli \playGame ;
6+
7+ function startGcdGame (): void
8+ {
9+ $ questions = [];
10+ $ answers = [];
11+ for ($ i = 0 ; $ i < 3 ; $ i ++) {
12+ $ number1 = rand (1 , 100 );
13+ $ number2 = rand (1 , 100 );
14+
15+ $ questions [$ i ] = "{$ number1 } {$ number2 }" ;
16+ $ answers [$ i ] = findGcd ($ number1 , $ number2 );
17+ }
18+ playGame ($ questions , $ answers , 'Find the greatest common divisor of given numbers. ' );
19+ }
20+
21+ function findGcd (int $ number1 , int $ number2 ): int
22+ {
23+ while ($ number2 !== 0 ) {
24+ $ tempNumber2 = $ number2 ;
25+ $ number2 = $ number1 % $ number2 ;
26+ $ number1 = $ tempNumber2 ;
27+ }
28+ return $ number1 ;
29+ }
You can’t perform that action at this time.
0 commit comments