Skip to content

Commit b81d4a0

Browse files
author
daria-z
committed
add prime game
1 parent 9b73ccd commit b81d4a0

File tree

5 files changed

+37
-1
lines changed

5 files changed

+37
-1
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ brain-calculator:
1313
brain-progression:
1414
node bin/brain-progression.js
1515

16+
brain-prime:
17+
node bin/brain-prime.js
18+
1619
publish:
1720
npm publish --dry-run
1821

bin/brain-prime.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env node
2+
import { prime } from '../src/cli.js';
3+
4+
prime();

src/cli.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ import evenChecking from './games/evenChecking.js';
33
import calculator from './games/brain-calculator.js';
44
import gcd from './games/gcd.js';
55
import progression from './games/brain-progression.js';
6+
import prime from './games/brain-prime.js';
67

7-
export { userGreeting, evenChecking, calculator, gcd, progression };
8+
export { userGreeting, evenChecking, calculator, gcd, progression, prime };

src/games/brain-prime.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import gamesWrapper from "./utils/gamesWrapper.js";
2+
import { rule, logic } from "./gamesLogic/prime.js";
3+
4+
export default () => {
5+
gamesWrapper(rule, logic);
6+
};
7+

src/games/gamesLogic/prime.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import generateRandomNumber from "../utils/generateRandomNumber.js";
2+
3+
export const rule = 'Answer "yes" if given number is prime. Otherwise answer "no".';
4+
5+
export const logic = () => {
6+
const number = generateRandomNumber(1, 10);
7+
const isPrime = (number) => {
8+
if (number <= 1) {
9+
return 'no';
10+
}
11+
12+
for (let i = 2; i < number; i++)
13+
if (number % i == 0) {
14+
return 'no';
15+
}
16+
return 'yes';
17+
}
18+
19+
return [number, isPrime(number)];
20+
};
21+

0 commit comments

Comments
 (0)