File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
Roadmap/06 - RECURSIVIDAD/kotlin Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ fun main () {
2
+ printNumbers()
3
+ println (" Introduce un numero para calcular su factorial" )
4
+ var i = readln()
5
+ var x = i.toInt()
6
+ factorial(x)
7
+ println (" El factorial de $x es ${factorial(x)} " )
8
+ println (" Escribe el numero de la posicion en la succesion de Fibonacci que quieras saber " )
9
+ var z = readln()
10
+ var posicion = z.toInt()
11
+ println (" Fibonnacci en posicion $posicion es ${fibonacci(posicion)} " )
12
+
13
+ }
14
+
15
+ // Funcion de recursividad que imprime numeros de 1 al 100
16
+ fun printNumbers (n : Int = 1) {
17
+ if (n > 100 ) return
18
+ println (n)
19
+ printNumbers(n + 1 )
20
+ }
21
+
22
+ // Dificultad Extra
23
+ // Calcular el factorial de un numero
24
+ fun factorial (i : Int ): Long {
25
+ if (i <= 1 ) {
26
+ return 1
27
+ } else {
28
+ return i * factorial(i - 1 )
29
+ }
30
+ }
31
+
32
+ // Calcular el valor en la posicion de fibonacci
33
+ fun fibonacci (posicion : Int ): Long {
34
+ return when (posicion) {
35
+ 0 -> 0
36
+ 1 -> 1
37
+ 2 -> 1
38
+ else -> fibonacci(posicion - 1 ) + fibonacci(posicion - 2 )
39
+ }
40
+ }
You can’t perform that action at this time.
0 commit comments