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

Se consideră şirul Fibonacci, definit astfel: f1=1 , f2=1 , fn=fn-1+fn-2 , dacă n>2.
Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane, astfel încât parcurgând liniile matricei de sus în jos şi de la stânga la dreapta se obţin, în prima linie primele n numere ale şirului Fibonacci în ordine crescătoare, în linia a doua următoarele n numere ale şirului Fibonacci în ordine descrescătoare, în linia a treia următoarele n numere ale acestui şir în ordine crescătoare, şi aşa mai departe.
1≤n≤6
Date de intrare:4
Date de iesire:
1 1 2 3
21 13 8 5
34 55 89 144
987 610 377 233

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

using namespace std;

int v[6][6];

int main()

{

   int n, i, j, a=1, b=1, c;

   cin >> n;

   v[1][1]=1; v[1][2]=1;

   for (j=3; j<=n; ++j)

   {

       c=a+b; v[1][j]=c; a=b; b=c;

   }

  for (i=2; i<=n; ++i)

  {

      if (i%2==0)

      for (j=n; j>=1; --j)

      {

          c=a+b; v[i][j]=c; a=b; b=c;

      }

      else

       for (j=1; j<=n; ++j)

      {

         c=a+b; v[i][j]=c; a=b; b=c;

      }

  }

  for (i=1; i<=n; ++i)

  {

      for (j=1; j<=n; ++j)

        cout << v[i][j] << " ";

      cout << "\n";

  }

   return 0;

}

Alte întrebări interesante