-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCaso1_Correcto.txt
67 lines (61 loc) · 954 Bytes
/
Caso1_Correcto.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Number fibRecursivo(Number n)
{
if n <= 0 { return 0; }
if n < 3
{
return 1;
}
else
{
return fibRecursivo(n - 1) + fibRecursivo(n - 2);
}
}
Number fibIterativo(Number n)
{
if n <= 0 { return 0; }
if n < 3
{
return 1;
}
Number n_menos_dos = 1;
Number n_menos_uno = 1;
Number acum = 0;
while n > 2
{
Number aux = acum;
acum += (n_menos_uno + n_menos_dos);
n_menos_dos = n_menos_uno;
n_menos_uno = aux;
n -= 1;
}
return acum;
}
String numeroAUnario(Number n)
{
String result = "";
if n == 0
{
return result;
}
else
{
if n < 0
{
result = "-";
n *= -1;
}
while n > 0
{
result + "1";
n -= 1;
}
}
return result;
}
Void main(String arg)
{
Number n = arg.toNumber();
write("Fib recursivo: " + fibRecursivo(n).toString());
write("Fib iterativo: " + fibIterativo(n).toString());
write("En unario: " + numeroAUnario(n));
}