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
26 changes: 25 additions & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,26 @@
# name: test
# Fill in the necessary code to run the jest test script whenever a pull request is opened or updated
# Fill in the necessary code to run the jest test script whenever a pull request is opened or updated

name: test
on:
pull_request:
branches: [ main ]

jobs:

test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Use node 18.x
uses: actions/setup-node@v2
with:
node-version: 18.X

- name: Install dependencies
run: npm ci

- name: Run Jest Tests
run: npm test
29 changes: 24 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 Math.pow(_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,11 @@ export function secret_3(_num1: number): number {
// 7 -> 5040
// All inputs must be >= 0
export function secret_4(_num1: number): number {
return 0;
let fact: number = 1;
for(let i: number = 1; i <= _num1; i++) {
fact = fact * i;
}
return fact;
}

// Implements the following input to output mapping:
Expand All @@ -53,5 +57,20 @@ export function secret_4(_num1: number): number {
// 7 -> 13
// All inputs must be >= 1
export function secret_5(_num1: number): number {
return 0;
if (_num1 <= 0) {
return 0;
} else if (_num1 === 1) {
return 1;
} else {
let fib1: number = 0;
let fib2: number = 1;
let result: number = 0;

for (let i: number = 2; i <= _num1; i++) {
result = fib1 + fib2;
fib1 = fib2;
fib2 = result;
}
return result;
}
}