2289 - Par Impar: Difference between revisions

From Bitnami MediaWiki
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 lui n – de exemplu, pentru 410722 rezultatul este 4022;
  • dacă n este impar, rezultatul este numărul scris cu cifrele impare ale lui n – de exemplu, pentru 357103 rezultatul este 35713.

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>