3664 - Cif Par Cif Imp: Difference between revisions
No edit summary |
Dragos1234 (talk | contribs) No edit summary |
||
Line 19: | Line 19: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#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: | while n > 0: | ||
cifra = n % 10 | cifra = n % 10 | ||
Line 33: | Line 37: | ||
impare += 1 | impare += 1 | ||
n //= 10 | n //= 10 | ||
return pare, impare | |||
# Programul principal | |||
numere = int(input("Introduceți numărul de numere: ")) | |||
if not validate_input(numere): | |||
exit() | |||
if __name__ == '__main__': | |||
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("Numărul introdus este prea mare.") | |||
continue | |||
pare, impare = count_parity_digits(n) | |||
pare_total += pare | |||
impare_total += impare | |||
print(f"{ | print(f"{pare_total} {impare_total}") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 11:59, 26 March 2023
Sursă: [1]
Cerinţa
Se dau numere numere naturale. Determinaţi câte cifre pare şi câte cifre impare se află în total în cele numere numere.
Date de intrare
Programul citește de la tastatură numărul numere, iar apoi numere numere naturale, separate prin spații.
Date de ieşire
Programul va afișa pe ecran numerele pare, şi impare, separate prin spaţiu, în această ordine, reprezentând numărul de cifre pare respectiv numărul de cifre impare calculate.
Restricții și precizări
- 1 ⩽ numere ⩽ 10
- cele numere numere citite vor fi mai mici decât 1.000.000.000
Exemplu
- Intrare
- 3
- 11 30 3
- Ieșire
- 1 4
Rezolvare
<syntaxhighlight lang="python" line>
- 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
- Programul principal
numere = int(input("Introduceți numărul de numere: ")) if not validate_input(numere):
exit()
if __name__ == '__main__':
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("Numărul introdus este prea mare.") continue pare, impare = count_parity_digits(n) pare_total += pare impare_total += impare
print(f"{pare_total} {impare_total}")
</syntaxhighlight>