0864 - CifMinMax

From Bitnami MediaWiki
Revision as of 19:47, 19 March 2023 by Cuceu Andrei (talk | contribs) (Pagină nouă: ==Cerință== Să se scrie o funcție Python care să determine cea mai mare și cea mai mică cifră a unui număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieşire. ==Restricții de precizări== :Numele funcției va fi '''cifminmax''' :Funcția va avea trei parametri: primul parametru reprezintă numărul pentru care se calculează valorile cerute; al doilea parametru va reprezenta cifra maximă, iar al treilea va r...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Să se scrie o funcție Python care să determine cea mai mare și cea mai mică cifră a unui număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieşire.

Restricții de precizări

Numele funcției va fi cifminmax
Funcția va avea trei parametri: primul parametru reprezintă numărul pentru care se calculează valorile cerute; al doilea parametru va reprezenta cifra maximă, iar al treilea va reprezenta cifra minimă
numărul pentru care se calculează cele doua valori va fi mai mic decât 2.000.000.000


Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

def cifminmax(numar, cifra_maxima, cifra_minima):

   cifra_maxima = 0
   cifra_minima = 9
   
   while numar > 0:
       cifra_curenta = numar % 10
       
       if cifra_curenta > cifra_maxima:
           cifra_maxima = cifra_curenta
       
       if cifra_curenta < cifra_minima:
           cifra_minima = cifra_curenta
       
       numar //= 10
   
   return cifra_maxima, cifra_minima


if __name__ == '__main__':

   numar = int(input("Introduceti un numar pozitiv si mai mic decat 2.000.000.000: "))
   
   if numar <= 0 or numar >= 2000000000:
       print("Numarul trebuie sa fie pozitiv si mai mic decat 2.000.000.000.")
   else:
       cifra_maxima, cifra_minima = cifminmax(numar, 0, 9)
       print(f"Cea mai mare cifra a numarului {numar} este {cifra_maxima}.")
       print(f"Cea mai mica cifra a numarului {numar} este {cifra_minima}.")


</syntaxhighlight>