3665 - CMMCP

From Bitnami MediaWiki
Revision as of 19:16, 26 April 2023 by Tamas Claudia (talk | contribs)

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, se va afișa "Datele sunt introduse corect.", apoi se va afișa pe ecran cea mai mare cifră pară a numărului introdus. Î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> def verificare_restricții(număr):

   #Verifică dacă numărul este între 0 și 1.000.000.000.000
   if număr < 0 or număr > 1000000000000:
       return False
   else:
       return True

def rezolvare_problema(număr):

   maxim = 10 # inițializăm maximul cu 10
   while număr != 0:
       cifră = număr % 10 # extragem ultima cifră
       if cifră % 2 == 0 and cifră > maxim: # dacă este pară și mai mare decât maximul curent
           maxim = cifră # actualizăm maximul
       număr //= 10 # eliminăm ultima cifră
   return maxim

if __name__ == "__main__":

   număr = int(input("Introduceți numărul: "))
   if verificare_restricții(număr):
       print("Datele sunt introduse corect.")
       maxim_păr = rezolvare_problema(număr)
       if maxim_păr == 10:
           print("Numărul nu conține cifre pare.")
       else:
           print("Cea mai mare cifră pară a numărului este:", maxim_păr)
   else:
       print("Datele nu au fost introduse corect.")



</syntaxhighlight>