Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
16 changes: 15 additions & 1 deletion extra/1-factorial.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,21 @@
*/

function factorial(input) {
// TODO
// 0! = 1
// 1! = 1
if (input === 0 || input === 1) {
return 1;
}

// the result of the factorial calculation will be stored in here
let factorialResult = 1;

// stops when i is greater than the input
for (i = 1; i <= input; i++) {
factorialResult = factorialResult * i;
}

return factorialResult;
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand Down
8 changes: 2 additions & 6 deletions mandatory/1-fix-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@

*/

function getMood() {
let isHappy = true;

function getMood(isHappy) {
if (isHappy) {
return "I am happy";
} else {
Expand All @@ -21,9 +19,7 @@ function getMood() {
}

function greaterThan10(num) {
let isBigEnough;

if (isBigEnough) {
if (num > 10) {
return "num is greater than 10";
} else {
return "num is not big enough";
Expand Down
57 changes: 51 additions & 6 deletions mandatory/2-function-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@
1. the user should be 18 or older
2. the user must be logged in
*/
function isAcceptableUser(userAge, isLoggedIn) {}
function isAcceptableUser(userAge, isLoggedIn) {
if (userAge >=18 && isLoggedIn === true) {
return true;
} else {
return false;
}
}

/*
Complete the function to apply discount percent based on how much is totalPrice in user cart.
Expand All @@ -15,26 +21,58 @@ function isAcceptableUser(userAge, isLoggedIn) {}
is applieds and 142.5 should be returned)
*/

function applyDiscount(totalPrice) {}
function applyDiscount(totalPrice) {
if (totalPrice >= 200) {
return totalPrice * 0.9;
} else {
return totalPrice * 0.95;
}
}

/*
Complete the function to print to the console the odd numbers between 1 and limit (use a while loop):
*/
function printOddNumbers(limit) {}
function printOddNumbers(limit) {
let count = 1;

while (count < limit) {
if (count % 2 === 1) {
console.log(count);
}
count++;
}
}

/*
Complete the buyTwoGetTheCheapestFree function: if user buys two items, the cheapest item will be free!
The function should return the price to be paid once the discount is applied.
*/
function buyTwoGetTheCheapestFree(price1, price2) {}
function buyTwoGetTheCheapestFree(price1, price2) {
if (price1 && price2) {
if (price1 >= price2) {
return price1;
} else if (price2 >= price1) {
return price2;
}
}
}


/*
Complete the function to determine if it is suitable for a person to register based on their age!
- if the person is 12 or younger it should return "You Are Too Young To Register"
- if the person is older than 12 and younger than 90 it should return "You Can Register"
- if the person is 90 or older it should return "You Don't Need To Register"
*/
function canRegister(age) {}
function canRegister(age) {
if (age <= 12) {
return `You Are Too Young To Register`;
} else if (age > 12 && age < 90) {
return `You Can Register`;
} else if (age >= 90) {
return `You Don't Need To Register`;
}
}

/*
Complete the function so that it prints out to the console numbers in reverse order starting at
Expand All @@ -45,7 +83,14 @@ function canRegister(age) {}
)
*/

function countReverse(number) {}
function countReverse(number) {
let currentNumber = number;

while (currentNumber >= 1) {
console.log(currentNumber);
currentNumber--;
}
}

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"test": "jest"
},
"jest": {
"jest": {
"projects": [
{
"displayName": "mandatory",
Expand Down