#2202
extindere
Se consideră operația
: {1; 2} → {1; 2}
, astfel încât 1
= 2
, 2
= 1
. Operația se extinde asupra oricărei secvențe formate cu cifre de 1
și 2
, de exemplu 1211212121
=2122121212
.
Se consideră șirul infinit s
format cu cifre de 1
și 2
, generat incremental prin extindere după următoarea regulă de concatenare:
s1 = 1221
, s2 = 1221211221121221
, … , sk+1 = sk
sk sk
sk
, …, pentru orice număr natural nenul k
.
Să se scrie un program care pentru un n
număr natural nenul cunoscut determină și afișează a n
-a cifră a șirului s
, astfel încât numărul de pași ai programului să fie proporțional cu log2(n)
(complexitate timp logaritmică în funcție de n
).
Admitere FMI Bucuresti - 2014
Problema | extindere | Operații I/O |
![]() extindere.in /extindere.out
|
---|---|---|---|
Limita timp | 0.01 secunde | Limita memorie |
Total: 0.1 MB
/
Stivă 0.1 MB
|
Id soluție | #58282756 | Utilizator | |
Fișier | extindere.cpp | Dimensiune | 613 B |
Data încărcării | 24 Mai 2025, 13:14 | Scor / rezultat | Eroare de compilare |
extindere.cpp: In function 'int main()': extindere.cpp:23:5: error: 'ifstream' was not declared in this scope ifstream fin("extindere.in"); ^ extindere.cpp:23:5: note: suggested alternative: In file included from /usr/include/c++/4.8/ios:38:0, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from extindere.cpp:1: /usr/include/c++/4.8/iosfwd:157:34: note: 'std::ifstream' typedef basic_ifstream<char> ifstream; ^ extindere.cpp:23:14: error: expected ';' before 'fin' ifstream fin("extindere.in"); ^ extindere.cpp:24:5: error: 'ofstream' was not declared in this scope ofstream fout("extindere.out"); ^ extindere.cpp:24:5: note: suggested alternative: In file included from /usr/include/c++/4.8/ios:38:0, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from extindere.cpp:1: /usr/include/c++/4.8/iosfwd:160:34: note: 'std::ofstream' typedef basic_ofstream<char> ofstream; ^ extindere.cpp:24:14: error: expected ';' before 'fout' ofstream fout("extindere.out"); ^ extindere.cpp:26:5: error: 'fin' was not declared in this scope fin >> n; ^ extindere.cpp:27:5: error: 'fout' was not declared in this scope fout << val_element(n - 1); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema extindere face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.