2715 - ROT 13
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>