Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
run: npm ci

- name: Test
run: npm run test
run: npm run test
23 changes: 18 additions & 5 deletions src/secret.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
// 7, 4 -> 3
// All inputs must be >= 1
export function secret_1(_num1: number, _num2: number): number {
return 0;
return _num1 % _num2;
}

// Implements the following input to output mapping:
Expand All @@ -23,7 +23,7 @@ export function secret_1(_num1: number, _num2: number): number {
// 7, 4 -> 2401
// All inputs must be >= 1
export function secret_2(_num1: number, _num2: number): number {
return 0;
return _num1 ** _num2;
}

// Implements the following input to output mapping:
Expand All @@ -33,7 +33,7 @@ export function secret_2(_num1: number, _num2: number): number {
// 256 -> 16
// All inputs must be >= 0
export function secret_3(_num1: number): number {
return 0;
return Math.sqrt(_num1);
}

// Implements the following input to output mapping:
Expand All @@ -43,7 +43,15 @@ export function secret_3(_num1: number): number {
// 7 -> 5040
// All inputs must be >= 0
export function secret_4(_num1: number): number {
return 0;
if (_num1 < 0) {
throw new Error("Factorial is not defined for negative numbers");
}

let result = 1;
for (let i = 2; i <= _num1; i++) {
result *= i;
}
return result;
}

// Implements the following input to output mapping:
Expand All @@ -53,5 +61,10 @@ export function secret_4(_num1: number): number {
// 7 -> 13
// All inputs must be >= 1
export function secret_5(_num1: number): number {
return 0;
let a = 0,
b = 1;
for (let i = 0; i < _num1; i++) {
[a, b] = [b, a + b];
}
return a;
}