3667 - Cif Max Imp
Sursă: [1]
Cerinţa
Se dau numere numere naturale. Determinaţi câte dintre ele au cifra maximă un număr impar.
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
Dacă datele sunt introduse corect, pe ecran se va afișa "Datele sunt introduse corect.", apoi se va afișa pe ecran valoarea cerută. în caz contrar, se va afișa pe ecran. "Datele nu au fost introduse corect.".
Restricții și precizări
- 1 ⩽ numere ⩽ 100
- cele numere numere citite vor fi mai mici decât 1.000.000.000
Exemplu
- Intrare
- 3
- 178 32 44
- Ieșire
- 1
Rezolvare
<syntaxhighlight lang="python" line>
numere = int(input("Introduceți numărul de date de intrare: ")) # se solicită numărul de date de intrare nr = 0
for i in range(numere): # se iterează prin numerele introduse
var = int(input(f"Introduceți numărul {i+1} (intre 0 si 1 trilioane): ")) # se solicită introducerea unui număr if var < 0 or var > 1000000000000: # se verifică dacă numărul introdus este valid print("Datele nu au fost introduse corect. Introduceți un număr pozitiv între 0 și 1 trilioane.") continue # se trece la următoarea iterație maxim = 0 while var > 0: # se calculează cifra maximă din numărul introdus cifra = var % 10 if cifra > maxim: maxim = cifra var //= 10 if maxim % 2 == 1: # se verifică dacă cifra maximă este impară nr += 1
if numere == 0: # se verifică dacă utilizatorul nu a introdus nicio valoare
print("Nu ați introdus nicio valoare.")
elif nr == numere: # se verifică dacă toate numerele introduse au cifra maximă impară
print("Toate numerele au cifra maximă impară.")
else: # altfel, se afișează numărul de numere cu cifra maximă impară
print(f"Ați introdus {numere} numere, dintre care {nr} au cifra maximă impară.")
</syntaxhighlight>