JSFiddle - React, Tailwind, and code Playground
by rexonms
JavaScript
// https://www.w3resource.com/javascript-exercises/javascript-recursion-functions-exercises.php
console.clear();
// Recusrion factorial (n!)
const factorial = (x) => {
if (x === 0) {
return 1;
}
return x * factorial(x - 1);
}
console.log(factorial(5));
// Find the greatest common divisor GCD
const gdc = (numA, numB) => {
if (!numB) {
return numA;
}
return gdc(numB, numA % numB)
}
console.log(gdc(12, 243446));
// Find integers between two numbers
const range = (startNum, endNum) => {
if (endNum - startNum === 2) {
return [endNum - 1];
}
let list = range(startNum, endNum -1);
list.push(endNum -1);
return list;
}
console.log(range(1, 5));
// Find sum of an array
const sumOfArray = (list) => {
if(list.length === 1) {
return list[0];
}
return list.pop() + sumOfArray(list);
}
console.log(sumOfArray([1,2,3]))
// Exponent of a number
const exponent = (a, n) => {
if (n === 0) {
return 1;
}
return a * exponent(a, n -1);
}
console.log(exponent(2, 3));