#1122
Babilonienii au dezvoltat un sistem pozițional de scriere a numerelor, în care orice număr natural se poate reprezenta utilizând semnele
(unu),
(zece) şi spaţii.
Valorile k din {2, 3, … , 9} se obțin scriind semnul
de k ori (scrierea babiloniană a lui 3 este
).
Numerele 11, 12, … , 59 se obțin ca succesiuni de semne
urmate de semne
(43 se reprezintă ca
).
Sistemul folosește gruparea unităților câte șaizeci. Astfel, pentru a scrie umărul șaizeci se folosește același semn ca pentru unu, dar valoarea sa este dată de poziția în care se găsește semnul
.
Babilonienii nu foloseau cifra 0. Pentru poziţionarea corectă a semnelor se utiliza spațiu (60 se reprezintă ca
, 3600 se reprezintă ca
etc.).
Se codifică scrierea babiloniană a unui număr utilizând cifra 1 în locul semnului
, cifra 2 în locul semnului
și cifra 3 în loc de spațiu.
Dându-se un număr natural n și un șir de n cifre din mulțimea {1, 2, 3}, reprezentând codificarea scrierii babiloniene a unui număr natural, să se determine:
a) numărul maxim de cifre 1 aflate pe poziții consecutive în codificarea scrierii babiloniene date;
b) numărul natural din sistemul zecimal corespunzător scrierii babiloniene date.
ONI GIM 2014, Clasa a V-a
| Problema | Babilon | Operații I/O |
babilon.in/babilon.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
| Id soluție | #64586363 | Utilizator | |
| Fișier | babilon.cpp | Dimensiune | 2.30 KB |
| Data încărcării | 16 Mai 2026, 17:41 | Scor/rezultat | 100 puncte |
babilon.cpp: In function ‘int main()’: babilon.cpp:20:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long long unsigned int’ [-Wsign-compare] 20 | for (int i = 0; i < x; i++) { | ~~^~~ babilon.cpp:41:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long long unsigned int’ [-Wsign-compare] 41 | for (int i = 0; i < x; i++) { | ~~^~~ babilon.cpp:64:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::vector<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 64 | for (int i = 0; i < grupuri.size(); i++) { | ~~^~~~~~~~~~~~~~~~ babilon.cpp:65:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 65 | for (int j = 0; j < grupuri[i].size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0 secunde | OK. | 5 | 5 | ||
| 1 | 0.001 secunde | OK. | 5 | 5 | ||
| 2 | 0 secunde | OK. | 5 | 5 | ||
| 3 | 0.001 secunde | OK. | 5 | 5 | ||
| 4 | 0.001 secunde | OK. | 5 | 5 | ||
| 5 | 0 secunde | OK. | 5 | 5 | ||
| 6 | 0.001 secunde | OK. | 5 | 5 | ||
| 7 | 0.001 secunde | OK. | 5 | 5 | ||
| 8 | 0.001 secunde | OK. | 5 | 5 | ||
| 9 | 0.001 secunde | OK. | 5 | 5 | ||
| 10 | 0.001 secunde | OK. | 5 | 5 | ||
| 11 | 0.001 secunde | OK. | 5 | 5 | ||
| 12 | 0 secunde | OK. | 5 | 5 | ||
| 13 | 0 secunde | OK. | 5 | 5 | ||
| 14 | 0 secunde | OK. | 5 | 5 | ||
| 15 | 0 secunde | OK. | 5 | 5 | ||
| 16 | 0.001 secunde | OK. | 5 | 5 | ||
| 17 | 0 secunde | OK. | 5 | 5 | ||
| 18 | 0.001 secunde | OK. | 5 | 5 | ||
| 19 | 0.001 secunde | OK. | 5 | 5 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Babilon 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ă.