#2202
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 | #64261614 | Utilizator | |
| Fișier | extindere.cpp | Dimensiune | 200 B |
| Data încărcării | 27 Aprilie 2026, 01:42 | Scor/rezultat | Eroare de compilare |
extindere.cpp:2:1: error: ‘ifstream’ does not name a type 2 | ifstream cin("extindere.in"); | ^~~~~~~~ extindere.cpp:3:1: error: ‘ofstream’ does not name a type 3 | ofstream cout("extindere.out"); | ^~~~~~~~ extindere.cpp: In function ‘int main()’: extindere.cpp:8:5: error: ‘cout’ was not declared in this scope 8 | cout<<randomNum; | ^~~~ extindere.cpp:2:1: note: ‘std::cout’ is defined in header ‘<iostream>’; did you forget to ‘#include <iostream>’? 1 | #include <fstream> +++ |+#include <iostream> 2 | ifstream cin("extindere.in");
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ă.