Cerința
Șirul lui Fibonacci (1, 1, 2, 3, 5, 8, 13, 21,...) se definește astfel:
f1=1, f2=1, fi=fi−1+fi−2 pentru orice număr natural i, i≥3.
Subprogramul Fibo are un singur parametru, n, prin care primeşte un număr natural (n∈[1,30]). Subprogramul returnează al n-lea termen impar al șirului lui Fibonacci.
Scrieți definiția completă a subprogramului.
Exemplu
Dacă n=6, subprogramul returnează valoarea 21.
Important
Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.
Răspunsuri la întrebare
Răspuns de
10
#include <iostream>
using namespace std;
int Fibo(int n)
{
int a=1, b=1, c, i=2;
if(n==1 || n==2)
return 1;
do
{
c=a+b;
if(c%2!=0)
i++;
if(c%2!=0 && i==n)
return c;
a=b;
b=c;
}while(i<n);
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
9 ani în urmă
Geografie,
9 ani în urmă