2289 - Par Impar: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: = Cerința = Pentru un număr natural dat <code>n</code>, numim ParImpar următoarea operație: * dacă <code>n</code> este par, rezultatul este numărul scris cu cifrele pare ale lui <code>n</code> – de exemplu, pentru <code>410722</code> rezultatul este <code>4022</code>; * dacă <code>n</code> este impar, rezultatul este numărul scris cu cifrele impare ale lui <code>n</code> – de exemplu, pentru <code>357103</code> rezultatul este <code>35713</code>. Se citesc dou... |
Pop Giulia (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/2289/parimpar] | |||
= Cerința = | ==Cerința== | ||
Pentru un număr natural dat <code>n</code>, numim ParImpar următoarea operație: | Pentru un număr natural dat <code>n</code>, numim ParImpar următoarea operație: | ||
Line 8: | Line 9: | ||
Se citesc două numere naturale. Să se afișeze numărul pentru care rezultatul operației ParImpar este mai mare. | Se citesc două numere naturale. Să se afișeze numărul pentru care rezultatul operației ParImpar este mai mare. | ||
= Date de intrare = | ==Date de intrare== | ||
Programul citește de la tastatură două numere naturale. | Programul citește de la tastatură două numere naturale. | ||
= Date de ieșire = | ==Date de ieșire== | ||
Programul va afișa pe ecran valoarea cerută. | Programul va afișa pe ecran valoarea cerută. | ||
= Restricții și precizări = | ==Restricții și precizări== | ||
* cele două numere citite vor fi mai mici decât <code>1.000.000.000</code> | * cele două numere citite vor fi mai mici decât <code>1.000.000.000</code> | ||
* dacă pentru cele două numere se obține același rezultat pentru operația ParImpar se va afișa numărul mai mare. | * dacă pentru cele două numere se obține același rezultat pentru operația ParImpar se va afișa numărul mai mare. | ||
= Exemplu: = | ==Exemplu:== | ||
Intrare | Intrare | ||
410722 357103 | 410722 357103 | ||
Line 25: | Line 26: | ||
357103 | 357103 | ||
== Încărcare soluție == | ==Încărcare soluție== | ||
<syntaxhighlight lang="python" line> | |||
n, m = map(int, input().split()) | |||
def par_impar(num): | |||
res = 0 | |||
while num: | |||
cif = num % 10 | |||
num //= 10 | |||
if cif % 2 == (num % 2): | |||
res = res * 10 + cif | |||
return res | |||
if par_impar(n) >= par_impar(m): | |||
print(n) | |||
else: | |||
print(m) | |||
</syntaxhighlight> |
Latest revision as of 12:50, 20 May 2023
Sursa: [1]
Cerința[edit | edit source]
Pentru un număr natural dat n
, numim ParImpar următoarea operație:
- dacă
n
este par, rezultatul este numărul scris cu cifrele pare ale luin
– de exemplu, pentru410722
rezultatul este4022
; - dacă
n
este impar, rezultatul este numărul scris cu cifrele impare ale luin
– de exemplu, pentru357103
rezultatul este35713
.
Se citesc două numere naturale. Să se afișeze numărul pentru care rezultatul operației ParImpar este mai mare.
Date de intrare[edit | edit source]
Programul citește de la tastatură două numere naturale.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran valoarea cerută.
Restricții și precizări[edit | edit source]
- cele două numere citite vor fi mai mici decât
1.000.000.000
- dacă pentru cele două numere se obține același rezultat pentru operația ParImpar se va afișa numărul mai mare.
Exemplu:[edit | edit source]
Intrare
410722 357103
Ieșire
357103
Încărcare soluție[edit | edit source]
<syntaxhighlight lang="python" line> n, m = map(int, input().split())
def par_impar(num):
res = 0 while num: cif = num % 10 num //= 10 if cif % 2 == (num % 2): res = res * 10 + cif return res
if par_impar(n) >= par_impar(m):
print(n)
else:
print(m)
</syntaxhighlight>