Informatică, întrebare adresată de geocaruoxxbvq, 8 ani în urmă

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 Junko912
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