4018 - Mos Craciun 3: Difference between revisions

From Bitnami MediaWiki
Pop Giulia (talk | contribs)
No edit summary
Pop Giulia (talk | contribs)
No edit summary
 
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4018/moscraciun3]
==Cerința==
==Cerința==
Moș Crăciun este pregătit să ofere cadouri tuturor copiilor. Singura lui problema este Grinch, care încearcă să deschidă seiful cu cadouri al lui Moș Crăciun. Grinch a aflat codul, așa că Moș Craciun a decis să îl schimbe cu unul nou. Presupunem că parola seifului este n și avem 2 numere, p și k. Moș Craciun va inversa primele p cifre și ultimele k cifre ale parolei – parola este formată numai din cifre nenule. Fiind foarte bătrân și greșind mult la calcule, vă roagă să îl ajutați să determine noua parola.
Moș Crăciun este pregătit să ofere cadouri tuturor copiilor. Singura lui problema este Grinch, care încearcă să deschidă seiful cu cadouri al lui Moș Crăciun. Grinch a aflat codul, așa că Moș Craciun a decis să îl schimbe cu unul nou. Presupunem că parola seifului este n și avem 2 numere, p și k. Moș Craciun va inversa primele p cifre și ultimele k cifre ale parolei – parola este formată numai din cifre nenule. Fiind foarte bătrân și greșind mult la calcule, vă roagă să îl ajutați să determine noua parola.

Latest revision as of 12:45, 20 May 2023

Sursa: [1]

Cerința[edit | edit source]

Moș Crăciun este pregătit să ofere cadouri tuturor copiilor. Singura lui problema este Grinch, care încearcă să deschidă seiful cu cadouri al lui Moș Crăciun. Grinch a aflat codul, așa că Moș Craciun a decis să îl schimbe cu unul nou. Presupunem că parola seifului este n și avem 2 numere, p și k. Moș Craciun va inversa primele p cifre și ultimele k cifre ale parolei – parola este formată numai din cifre nenule. Fiind foarte bătrân și greșind mult la calcule, vă roagă să îl ajutați să determine noua parola.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele n p k.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran noul cod.

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

1 ≤ n < 1000000000000000000 dacă n nu are cel puțin p+k cifre, se va afișa mesajul imposibil.

Exemplu:[edit | edit source]

Intrare

1428429 2 3 Ieșire

4128924

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

<syntaxhighlight lang="python" line> n, p, k = input().split() n = int(n) p = int(p) k = int(k) if len(str(n)) < p + k:

   print("imposibil")
   exit()

n_str = str(n) n_str = n_str[:p][::-1] + n_str[p:] n_str = n_str[:-k] + n_str[-k:][::-1] new_n = int(n_str) print(new_n) </syntaxhighlight>