3664 - Cif Par Cif Imp: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
No edit summary
Line 8: Line 8:


== Date de ieşire ==
== Date de ieşire ==
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restrictiilor impuse", apoi pe un rând nou va afișa numărul de cifre pare și impare separate printr-n spațiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse.


== Restricții și precizări ==
== Restricții și precizări ==
Line 62: Line 62:
         n = int(input(f"Introduceți numărul {i + 1}: "))
         n = int(input(f"Introduceți numărul {i + 1}: "))
         if n >= 1000000000:
         if n >= 1000000000:
             print("Numărul introdus este prea mare.")
             print("Datele de intrare nu corespund restrictiilor impuse")
             continue
             continue
         pare, impare = count_parity_digits(n)
         pare, impare = count_parity_digits(n)
Line 68: Line 68:
         impare_total += impare
         impare_total += impare


     print(f"{pare_total} {impare_total}")
     print(f"Datele de intrare corespund restrictiilor impuse\n{pare_total} {impare_total}")




</syntaxhighlight>
</syntaxhighlight>

Revision as of 21:40, 26 March 2023

Sursă: [1]

Cerinţa

Se dau n numere naturale. Determinaţi câte cifre pare şi câte cifre impare se află în total în cele n numere.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieşire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restrictiilor impuse", apoi pe un rând nou va afișa numărul de cifre pare și impare separate printr-n spațiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse.

Restricții și precizări

  • 1 ⩽ n ⩽ 10
  • cele n numere citite vor fi mai mici decât 1.000.000.000.

Exemplul 1

Intrare
Introduceți numărul de numere: 3
Introduceți numărul 1: 11
Introduceți numărul 2: 30
Introduceți numărul 3: 3
Ieșire
1 4

Exemplul 2

Intrare
Introduceți numărul de numere: 0
Iesire
Numărul de numere trebuie să fie între 1 și 10.

Rezolvare

<syntaxhighlight lang="python" line>

  1. 3664

def validate_input(n):

   if not 1 <= n <= 10:
       print("Numărul de numere trebuie să fie între 1 și 10.")
       return False
   return True


def count_parity_digits(n):

   pare = 0
   impare = 0
   while n > 0:
       cifra = n % 10
       if cifra % 2 == 0:
           pare += 1
       else:
           impare += 1
       n //= 10
   return pare, impare


if __name__ == '__main__':

   numere = int(input("Introduceți numărul de numere: "))
   if not validate_input(numere):
       exit()
   pare_total = 0
   impare_total = 0
   for i in range(numere):
       n = int(input(f"Introduceți numărul {i + 1}: "))
       if n >= 1000000000:
           print("Datele de intrare nu corespund restrictiilor impuse")
           continue
       pare, impare = count_parity_digits(n)
       pare_total += pare
       impare_total += impare
   print(f"Datele de intrare corespund restrictiilor impuse\n{pare_total} {impare_total}")


</syntaxhighlight>