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 validare(n):
return 0 <= int(n) < 2_000_000_000
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 = input("Introduceti un numar pozitiv si mai mic decat 2.000.000.000: ")
if validare(numar): numar = int(numar) print("Datele introduse corespund restricțiilor impuse") 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}.") else: print("Datele introduse nu corespund restricțiilor impuse")
</syntaxhighlight>