278
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