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

Scrie un program C++ care să citească un număr natural n (n>2) și să afișeze primii n termeni ai șirului format după regula: primii doi termeni din șir sunt 0 și 1 și, începând cu poziția 3, fiecare termen din șir este suma ultimilor doi predecesori. (Șirul lui Fibonacci)

Exemplu: pentru n=20 se va afișa:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 337 610 987 1597 2584 4181 6765

Răspunsuri la întrebare

Răspuns de andupandu931
3

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n;

   cin >> n;

// incrementam constantele, iar din moment ce n > 2 primele valori for fi obligatoriu 0,1,1

   int nr_2, nr_1, nr_0, nr_nul;

       nr_nul = 0;

       nr_0 = 1;

       nr_1 = 1;

   cout << nr_nul << '\n' << nr_0 << '\n' << nr_1 << '\n';

// folosim structura repetitva for, folosind metoda paharelor

   for(int i = 3; i <= n; i++)

   {

       nr_2 = nr_1 + nr_0;

       nr_0 = nr_1;

       nr_1 = nr_2;

       cout << nr_2 << '\n';

   }

   return 0;

}

Explicație:

am pus explicatiile cu // . Cand vei scrie tema, ai grija sa le stergi.

Alte întrebări interesante