213
Cerința
Dându-se numărul natural n
, să se afle al n
-lea termen al şirului 1, 11, 21, 1211, 111221, 312211, 13112221,...
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa al n
-lea termen al șirului.
Restricții și precizări
1 ≤ n ≤ 30
Exemplu
Intrare
4
Ieșire
1211
Explicație
Al 4
-lea termen al sirului este 1211
.
#include <bits/stdc++.h> using namespace std; int a[10001] , b[10001] , lung = 1 , n , t , cnt; int main() { a[0] = 1; cin >> n; for(int i = 1; i < n; i++) { cnt = 0 , t = 0; for(int j = 0; j < lung; j++) { if(cnt == 0) cnt++; else if(a[j] == a[j - 1]) cnt++; else { b[t++] = cnt; b[t++] = a[j - 1]; cnt = 1; } } if(cnt) { b[t++] = cnt; b[t++] = a[lung - 1]; } swap(a , b); lung = t; } for(int i = 0; i < lung; i++) cout << a[i]; }
Comentarii