2715 - ROT 13

From Bitnami MediaWiki

Cerința[edit | edit source]

Mirel a învățat astăzi la școală la ora de matematică despre baze de numerație. De exemplu a învățat cum să transforme un număr dintr-o bază oarecare în baza zece. Pentru acasă a primit următoarea temă:

Pentru un cuvânt dat, se înlocuiește fiecare literă a acestuia cu numărul de litere de dinaintea sa în alfabet, astfel litera a devine 0, litera b devine 1, litera c devine 2 ș.a.m.d. , iar cuvântul dat devine un număr în baza 26.

Să se transforme acest număr în baza zece.

Date de intrare[edit | edit source]

În fișierul baza.in se citește de pe prima linie un cuvânt, format doar din litere mici ale alfabetului englez.

Date de ieșire[edit | edit source]

În fișierul baza.out se va afișa pe prima linie un număr, reprezentând valoarea in baza zece a cuvântului din baza 26.

Restricții și precizări[edit | edit source]

  • Lungimea cuvântului <= 50

Exemplu:[edit | edit source]

baza.in

abz

baza.out

51

Explicație[edit | edit source]

a = 0, b = 1, z = 25.

abz(26) = 0 * 26^2 + 1 * 26^1 + 25 * 26^0 = 51(10)


Încărcare soluție[edit | edit source]

Lipește codul aici[edit | edit source]

<syntaxhighlight lang="python" line="1"> while True:

   c = input()
   if c != ' ' and c != '\0':
       if c >= 'a':
           c = chr((ord(c) - ord('a') + 13) % 26 + ord('a'))
       else:
           c = chr((ord(c) - ord('A') + 13) % 26 + ord('A'))
   print(c)


</syntaxhighlight>