1003 - Baze1

From Bitnami MediaWiki
Revision as of 16:07, 2 January 2024 by Brianna Waltner (talk | contribs) (Pagină nouă: == Cerinţa == Se dau două numere b1 b2, reprezentând două baze de numeraţie şi două şiruri de cifre x y, reprezentând două numere: x în baza b1, y în baza b2. Determinaţi suma numerelor x şi y în baza 10. == Date de intrare == Fișierul de intrare '''baze1in.txt''' conține pe prima linie numerele '''b1 b2''', iar pe a doua linie cele două şiruri de cifre cu semnificaţia de mai sus. == Date de ieșire == Fișierul de ieșire '''baze1out.txt''' va conține pe...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dau două numere b1 b2, reprezentând două baze de numeraţie şi două şiruri de cifre x y, reprezentând două numere: x în baza b1, y în baza b2. Determinaţi suma numerelor x şi y în baza 10.

Date de intrare

Fișierul de intrare baze1in.txt conține pe prima linie numerele b1 b2, iar pe a doua linie cele două şiruri de cifre cu semnificaţia de mai sus.

Date de ieșire

Fișierul de ieșire baze1out.txt va conține pe prima linie numărul S, reprezentând suma dintre x şi y.

Restricţii şi precizări

  • 2 ⩽ b1,b2 ⩽ 10
  • reprezentările în baza 10 ale lui x, y şi suma lor nu depăşesc 2 000 000 000

Exemplul 1

Intrare
121 prieteni analizeaza Un capac; aeriSIrea    radar
Iesire
Datele de intrare corespund restrictiilor impuse
aeriSIrea


Exemplul 1

baze1in.txt

2 5 110 213

baze1out.txt

Datele de intrare corespund restrictiilor impuse 64

Exemplu 2

baze1in.txt

2 5 110 213333333333333333333

baze1out.txt

Datele de intrare nu corespund restrictiilor impuse


Rezolvare

<syntaxhighlight lang="python" line> def main():

   # Deschiderea fișierelor de intrare și ieșire
   with open('baze1in.txt', 'r') as fin, open('baze1out.txt', 'w') as fout:
       # Citirea bazelor și a numerelor din fișierul de intrare
       b1, b2 = map(int, fin.readline().strip().split())
       x, y = fin.readline().strip().split()

</syntaxhighlight>

Explicatie

110(2) = 6 213(5) = 58 6 + 58 = 64