File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed
Roadmap/06 - RECURSIVIDAD/javascript Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change 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 ) ) ;
You can’t perform that action at this time.
0 commit comments