Se consideră şirul Fibonacci, definit astfel: f
1
=1
, f
2
=1
, f
n
=
f
n-1
+
f
n-2
, dacă n>2
.
Cerinţa
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.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieşire
Programul afișează Pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.
Restricţii şi precizări
1≤n≤6
Exemplu
Intrare
4
Ieșire
1 1 2 3 21 13 8 5 34 55 89 144 987 610 377 233
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema GenMat18:
#include <iostream>
using namespace std;
int n,a[100][100];
int main(){
cin >> n;
int x = 1, y = 1, z;
a[1][1] = a[1][2] = 1;
for(int j=3;j<=n;++j){
a[1][j] = z = x+y;
x = y;
y = z;
}
for(int i=2;i<=n;++i)
for(int j=1;j<=n;++j){
if(i%2==1)
a[i][j] = z = x+y;
else
a[i][n-j+1] = z = x+y;
x = y;
y = z;
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #235 GenMat18
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #235 GenMat18 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!