Add fibonacci exercise
This commit is contained in:
parent
8ac29e55c8
commit
60eac14ae2
@ -761,7 +761,7 @@ La posibilidad de crear las librerías facilita la reutilización del código y
|
|||||||
|
|
||||||
1. Diseñad una función que, dado un entero n, calcule la suma de los primeros n números de la serie Fibonacci.
|
1. Diseñad una función que, dado un entero n, calcule la suma de los primeros n números de la serie Fibonacci.
|
||||||
|
|
||||||
[Solución en lenguaje C]()
|
[Solución en lenguaje C](./soluciones_c/solucion1/fibonacci.c)
|
||||||
|
|
||||||
2. Diseñad una acción que, dados un real que representa el saldo de una cuenta corriente y otro real que representa un cargo o imposición, actualice el saldo de la cuenta.
|
2. Diseñad una acción que, dados un real que representa el saldo de una cuenta corriente y otro real que representa un cargo o imposición, actualice el saldo de la cuenta.
|
||||||
|
|
||||||
@ -804,7 +804,45 @@ function squareRoot(x: real): real;
|
|||||||
|
|
||||||
1. Solución
|
1. Solución
|
||||||
|
|
||||||
```c
|
```alg
|
||||||
|
function fibonacci(n: integer): integer
|
||||||
|
var
|
||||||
|
i, suma, a, b: integer;
|
||||||
|
end var
|
||||||
|
|
||||||
|
if n < 3 then
|
||||||
|
suma:= 1;
|
||||||
|
else
|
||||||
|
a:= 0;
|
||||||
|
b:= 1;
|
||||||
|
suma:= 0;
|
||||||
|
|
||||||
|
for i:= 1 to n do
|
||||||
|
suma:= a+b;
|
||||||
|
b:= a;
|
||||||
|
a:= suma;
|
||||||
|
end for
|
||||||
|
|
||||||
|
end if
|
||||||
|
|
||||||
|
return sum;
|
||||||
|
|
||||||
|
end function
|
||||||
|
|
||||||
|
algorithm main
|
||||||
|
var
|
||||||
|
number: integer;
|
||||||
|
end var
|
||||||
|
|
||||||
|
writeString("Introduce un número entero positivo: ");
|
||||||
|
number:= readInteger()
|
||||||
|
|
||||||
|
writeString("La suma de los ");
|
||||||
|
writeInteger(number);
|
||||||
|
writeString(" primeros números de la serie Fibonacci es: ");
|
||||||
|
writeInteger(fibonacci(n));
|
||||||
|
|
||||||
|
end algorithm
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
BIN
fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci
Executable file
BIN
fundamentos-programacion/PR2/soluciones_c/solucion1/fibonacci
Executable file
Binary file not shown.
@ -0,0 +1,41 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
/* Función que, dado un entero n, calcule la suma de los primeros n números de la serie Fibonacci.*/
|
||||||
|
|
||||||
|
int fibonacci(int n)
|
||||||
|
{
|
||||||
|
int i, suma, a, b;
|
||||||
|
|
||||||
|
if (n < 3)
|
||||||
|
{
|
||||||
|
|
||||||
|
suma = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
a = 0;
|
||||||
|
b = 1;
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
suma = a + b;
|
||||||
|
b = a;
|
||||||
|
a = suma;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return suma;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int number;
|
||||||
|
|
||||||
|
printf("Introduce un número entero positivo: ");
|
||||||
|
scanf("%d", &number);
|
||||||
|
|
||||||
|
printf("La suma de los %d primeros números de la serie Fibonacci es: %d\n", number, fibonacci(number));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user