0176 - Număr animale

De la Universitas MediaWiki

Sursa: 0176 - Număr animale

Cerinţa

Într-o curte sunt găini și oi. Se cunoaște numărul de capete și numărul de picioare din curte. Să se determine numărul de găini și numărul de oi.

Date de intrare

Programul citește de la tastatură numerele capete și picioare, reprezentând numărul de capete și numărul de picioare din curte.

Date de ieşire

În cazul în care datele de intrare nu corespund restricțiilor impuse, se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.". În cazul în care datele de intrare corespund restricțiilor impuse, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.", pe următorul rând afișându-se numerele nr_gaini și nr_oi, separate printr-un spațiu, reprezentând numărul de găini și numărul de oi din curte.

Restricţii şi precizări

  • capete, picioare ∈ ℕ
  • 0 < capete, picioare < 1.000.000.000

Exemplu

Intrare
5
14
Ieșire
Datele introduse corespund restricțiilor impuse.
3 2
Intrare
asd
10
Ieșire
Datele introduse nu corespund restricțiilor impuse.
Intrare
-20
2.12
Ieșire
Datele introduse nu corespund restricțiilor impuse.

Rezolvare

Rezolvare ver. 1

def validare_date(capete, picioare):
    return capete.isdigit() and picioare.isdigit() and 0 < int(capete) < 1_000_000_000 and 0 < int(picioare) < 1_000_000_000


def nr_animale(capete, picioare):
    nr_oi = (picioare - 2 * capete) // 2
    nr_gaini = capete - nr_oi
    
    print(nr_gaini, nr_oi)
    
    
if __name__ == "__main__":
    capete = input()
    picioare = input()
    
    if validare_date(capete, picioare):
        capete = int(capete)
        picioare = int(picioare)
            
        print("Datele de intrare corespund restricțiilor impuse.")
        nr_animale(capete, picioare)
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")