3667 - Cif Max Imp: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
Programul citește de la tastatură numărul '''numere''', iar apoi '''numere''' numere naturale, separate prin spații. | Programul citește de la tastatură numărul '''numere''', iar apoi '''numere''' numere naturale, separate prin spații. | ||
== Date de ieşire == | == 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 == | == Restricții și precizări == | ||
* 1 ⩽ numere ⩽ 100 | * 1 ⩽ numere ⩽ 100 | ||
Line 19: | Line 19: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
numere = int(input()) | numere = int(input("Introduceți numărul de date de intrare: ")) # se solicită numărul de date de intrare | ||
nr = 0 | nr = 0 | ||
for i in range(numere): | for i in range(numere): # se iterează prin numerele introduse | ||
var =int(input(f"Introduceți numărul {i+1}: ")) | 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 | maxim = 0 | ||
while var > 0: | while var > 0: # se calculează cifra maximă din numărul introdus | ||
cifra = var % 10 | cifra = var % 10 | ||
if cifra > maxim: | if cifra > maxim: | ||
maxim = cifra | maxim = cifra | ||
var //= 10 | var //= 10 | ||
if maxim % 2 == 1: | if maxim % 2 == 1: # se verifică dacă cifra maximă este impară | ||
nr += 1 | nr += 1 | ||
print(nr) | 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> | </syntaxhighlight> |
Revision as of 17:13, 7 April 2023
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>