3667 - Cif Max Imp

From Bitnami MediaWiki
Revision as of 17:13, 7 April 2023 by Tamas Claudia (talk | contribs)

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>