Răspuns :
Răspuns:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("sirul.in");
ofstream fout("sirul.out");
int n;
char a[6770],b[6770],c[6770];
int main()
{
fin >> n;
strcpy(a,"a");
strcpy(b,"b");
if (n==1) fout << a;
else
{
if (n==2) fout << b;
else
{
while (n>2)
{
strcpy(c,b);
strcat(c,a);
strcpy(a,b);
strcpy(b,c);
--n;
}
fout << c;
}
}
}
Explicație:
a,b,ba,bab,babba,babbabab, ...
este o analogie cu şirul Fibonacii: 1,1,2,3,5,8,13,...
numai că aici se concatenează două şiruri pentru al obţine pe următorul.
Valoarea lui n din şirul Fibonacci ne spune care este lungimea şirului de pe locul n. Din condiţie 1<=n<=20, am calculat al 20-lea termen al şirului Fibonacii şi este 6765, deaceea am declarat pentru termenii a,b,c acea dimensiune...
Sper că cunoşti funcţiile de prelucrare a sirurilor de caractere....
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.