3665 - CMMCP: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 6: Line 6:
Programul citește de la tastatură numărul '''număr1'''.
Programul citește de la tastatură numărul '''număr1'''.
==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 ==
* 0 ⩽ număr1 ⩽ 1.000.000.000.000
* 0 ⩽ număr1 ⩽ 1.000.000.000.000
Line 18: Line 18:


<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
număr1 = int(input())
număr1 = int(input("Introduceți numărul: ")) # citim numărul de la tastatură
maxim = 10


if număr1 == 0:
# verificăm restricțiile impuse asupra numărului
     maxim = 0
if număr1 < 0 or număr1 > 1000000000000:
    print("Datele nu au fost introduse corect")
else:
    maxim = 0 # inițializăm maximul cu o valoare nesemnificativă
 
    if număr1 == 0:
        maxim = 0
 
     # parcurgem cifrele numărului și găsim cea mai mare cifră pară
    while număr1 != 0:
        if maxim == 10: # dacă nu am găsit încă nicio cifră pară, maximul primește valoarea primei cifre pare
            if număr1 % 2 == 0:
                maxim = număr1 % 10
        else: # dacă am găsit deja o cifră pară, maximul se actualizează doar dacă găsim o cifră pară mai mare decât cea actuală
            if număr1 % 10 > maxim and număr1 % 2 == 0:
                maxim = număr1 % 10
        număr1 = număr1 // 10 # trecem la următoarea cifră


while număr1 != 0:
     if maxim == 10:
     if maxim == 10:
         if număr1 % 2 == 0:
         print("Numărul nu conține cifre pare")
            maxim = număr1 % 10
     else:
     else:
         if număr1 % 10 > maxim and număr1 % 2 == 0:
         print("Cea mai mare cifră pară din număr este:", maxim)
            maxim = număr1 % 10
 
    număr1 = număr1 // 10


print(maxim)


</syntaxhighlight>
</syntaxhighlight>

Revision as of 17:10, 7 April 2023

Sursă: [1]

Cerința

Se dă un număr natural număr1. Determinaţi cea mai mare cifră pară a sa. Dacă numărul nu are cifre pare se va afişa numărul 10.

Date de intrare

Programul citește de la tastatură numărul număr1.

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

  • 0 ⩽ număr1 ⩽ 1.000.000.000.000

Exemplu

Intrare
1440
Ieșire
4


Rezolvare

<syntaxhighlight lang="python" line> număr1 = int(input("Introduceți numărul: ")) # citim numărul de la tastatură

  1. verificăm restricțiile impuse asupra numărului

if număr1 < 0 or număr1 > 1000000000000:

   print("Datele nu au fost introduse corect")

else:

   maxim = 0 # inițializăm maximul cu o valoare nesemnificativă
   if număr1 == 0:
       maxim = 0
   # parcurgem cifrele numărului și găsim cea mai mare cifră pară
   while număr1 != 0:
       if maxim == 10: # dacă nu am găsit încă nicio cifră pară, maximul primește valoarea primei cifre pare
           if număr1 % 2 == 0:
               maxim = număr1 % 10
       else: # dacă am găsit deja o cifră pară, maximul se actualizează doar dacă găsim o cifră pară mai mare decât cea actuală
           if număr1 % 10 > maxim and număr1 % 2 == 0:
               maxim = număr1 % 10
       număr1 = număr1 // 10 # trecem la următoarea cifră
   if maxim == 10:
       print("Numărul nu conține cifre pare")
   else:
       print("Cea mai mare cifră pară din număr este:", maxim)


</syntaxhighlight>