Cerința
O persoana are de urcat n trepte. Ştiind că poate păşi pe treapta urmatoare sau poate sări peste o treapta, aflaţi in câte moduri poate urca cele n trepte.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran numărul c, reprezentând numărul de moduri in care poate urca cele n trepte.
Restricții și precizări
1 ≤ n ≤ 30
Exemplu
Intrare
2
Ieșire
2
Explicație
Persoana poate sări direct pe treapta 2 sau să păşească câte o treapta.
Răspunsuri la întrebare
Răspuns de
9
/* descrierea solutiei - Trepte
Sa numerotam treptele: 1 2 3 .. n
Sa notam cu T(n) numarul de posibilitati de a ajunge pe trapta n.
Pe aceasta treapta se poate ajunge de pe treapta n-1 sau de pe treapta n-2, deci T(n) = T(n-1) + T(n-2).
Pe treapta 1 se poate ajunge intr-un singur mod, iar pe treapta 2 se poate ajunge in doua moduri.
*/
#include <bits/stdc++.h>
using namespace std;
int v[35], n, i;
int main()
{
cin >> n;
v[1] = 1;
v[2] = 2;
for(i = 3; i <= n; i ++)
v[i] = v[i - 1] + v[i - 2];
cout << v[n];
return 0;
}
Sa numerotam treptele: 1 2 3 .. n
Sa notam cu T(n) numarul de posibilitati de a ajunge pe trapta n.
Pe aceasta treapta se poate ajunge de pe treapta n-1 sau de pe treapta n-2, deci T(n) = T(n-1) + T(n-2).
Pe treapta 1 se poate ajunge intr-un singur mod, iar pe treapta 2 se poate ajunge in doua moduri.
*/
#include <bits/stdc++.h>
using namespace std;
int v[35], n, i;
int main()
{
cin >> n;
v[1] = 1;
v[2] = 2;
for(i = 3; i <= n; i ++)
v[i] = v[i - 1] + v[i - 2];
cout << v[n];
return 0;
}
Alte întrebări interesante
Franceza,
8 ani în urmă
Engleza,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă