Skip to content

Commit d5046da

Browse files
#6 - javascript
1 parent e5cceb8 commit d5046da

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* EJERCICIO:
3+
* Entiende el concepto de recursividad creando una función recursiva que imprima
4+
* números del 100 al 0.
5+
*
6+
* DIFICULTAD EXTRA (opcional):
7+
* Utiliza el concepto de recursividad para:
8+
* - Calcular el factorial de un número concreto (la función recibe ese número).
9+
* - Calcular el valor de un elemento concreto (según su posición) en la
10+
* sucesión de Fibonacci (la función recibe la posición).
11+
*/
12+
13+
const decrementByOne = (i = 101) => {
14+
let decrementedValue = i - 1;
15+
console.log(decrementedValue);
16+
if (decrementedValue > 0) {
17+
decrementByOne(decrementedValue)
18+
}
19+
}
20+
21+
decrementByOne();
22+
23+
const calculateFactorial = (num, total = 1) => {
24+
if (num > 1) {
25+
const multi = num * total;
26+
return calculateFactorial(num - 1, multi)
27+
} else {
28+
return total;
29+
}
30+
}
31+
32+
console.log(calculateFactorial(6));
33+
34+
const calculateFibonacciVal = (pos) => {
35+
if (pos < 1){
36+
console.log('El valor tiene que ser positivo y mayor a 0');
37+
return 0;
38+
} else if (pos === 1){
39+
return 0;
40+
} else if (pos === 2){
41+
return 1;
42+
} else {
43+
return calculateFibonacciVal(pos - 1) + calculateFibonacciVal(pos - 2);
44+
}
45+
}
46+
47+
console.log(calculateFibonacciVal(8));

0 commit comments

Comments
 (0)