#1122
Babilon
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 | #50670503 | Utilizator | |
Fișier | babilon.cpp | Dimensiune | 678 B |
Data încărcării | 19 Aprilie 2024, 15:33 | Scor / rezultat | Eroare de compilare |
babilon.cpp: In function 'int main()': babilon.cpp:21:14: error: 'a' was not declared in this scope cin>>a; ^ babilon.cpp:22:17: error: 'z' was not declared in this scope if(a==1)z=1; ^ babilon.cpp:23:22: error: 'z' was not declared in this scope else if(a==2)z=10; ^ babilon.cpp:24:14: error: 'z' was not declared in this scope else z=0; ^ babilon.cpp:25:13: error: 'i' was not declared in this scope for(i=2;i<=n;i++){ ^ babilon.cpp:27:21: error: 'z' was not declared in this scope if(x>a) z=z*60; ^ babilon.cpp:28:16: error: 'b' was not declared in this scope if(b==1)z++; ^ babilon.cpp:28:21: error: 'z' was not declared in this scope if(b==1)z++; ^ babilon.cpp:29:27: error: 'z' was not declared in this scope else if(b==2) z+=10; ^ babilon.cpp:30:16: error: 'b' was not declared in this scope if(b!=3) a=x; ^ babilon.cpp:32:13: error: 'z' was not declared in this scope cout<<z; ^
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ă.