2696 - CifP cifl

From Bitnami MediaWiki
Revision as of 16:18, 29 April 2023 by Tuca Liviu Razvan (talk | contribs) (Pagină nouă: ==Cerință== Se dau '''2 numere de exact 2 cifre''', dacă numerele au '''aceeași''' paritate se va afișa numărul total de cifre '''pare''' din cele două numere altfel dacă au parităti '''diferite''' atunci se afisează numărul total de cifre '''impare''' din cele două numere. ==Date de intrare== Programul citește de la tastatură 2 numere, separate prin spații. ==Date de ieșire== Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare cor...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință[edit | edit source]

Se dau 2 numere de exact 2 cifre, dacă numerele au aceeași paritate se va afișa numărul total de cifre pare din cele două numere altfel dacă au parităti diferite atunci se afisează numărul total de cifre impare din cele două numere.

Date de intrare[edit | edit source]

Programul citește de la tastatură 2 numere, separate prin spații.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul de cifre pare/impare conform cerinței.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

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

  • Numerele a si b au exact 2 cifre

Exemplul 1[edit | edit source]

Intrare
78 18
Ieșire
Datele de intrare corespund restricțiilor impuse.
2

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b):

   if 10 <= a < 100 and 10 <= b < 100:
       return True
   return False


def paritate(a, b):

   if a % 2 == b % 2:
       rezultat = (a // 10 % 2 == 0) + (a % 2 == 0) + (b // 10 % 2 == 0) + (b % 2 == 0)
   else:
       rezultat = a // 10 % 2 + a % 2 + b // 10 % 2 + b % 2
   return rezultat


if __name__ == "__main__":

   a, b = map(int, input().split())
   if validare(a, b):
       print("Datele de intrare corespund restricțiilor impuse.")
       print(paritate(a, b))
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicatie[edit | edit source]

Codul definește două funcții: validare(a, b) și paritate(a, b), care iau ca parametri două numere întregi, a și b.

Funcția validare(a, b) verifică dacă ambele numere sunt între 10 și 99, adică au două cifre. Dacă da, funcția returnează True, altfel returnează False.

Funcția paritate(a, b) verifică dacă cele două numere au aceeași paritate. Dacă da, se calculează și se returnează numărul total de cifre pare în cele două numere. În caz contrar, se calculează și se returnează numărul total de cifre impare.

În blocul if __name__ == "__main__":, se citește de la tastatură două numere separate prin spațiu și se verifică dacă acestea sunt valide folosind funcția validare(a, b). Dacă sunt valide, se calculează și se afișează numărul total de cifre pare/impare conform cerinței folosind funcția paritate(a, b). Dacă nu sunt valide, se afișează un mesaj corespunzător.