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
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Studii sociale,
8 ani în urmă
Biologie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă