0864 - CifMinMax
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>