3667 - Cif Max Imp: Difference between revisions

From Bitnami MediaWiki
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 ==
Programul va afișa pe ecran valoarea cerută.
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>