0170 - Cif Max Min: Difference between revisions
Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/170/cifmaxmin] == Cerinţa == Să se scrie un program care să determine suma dintre cea mai mică şi cea mai mare cifră ale unui număr natural citit de la tastatură. == Date de intrare == Programul va citi de la tastatură un număr natural. == Date de ieşire == Programul va afişa pe ecran suma dintre cea mai mică şi cea mai mare cifră ale numărului citit. == Restricții și precizări == * numărul citit va fi mai mic decât... |
No edit summary |
||
Line 5: | Line 5: | ||
Programul va citi de la tastatură un număr natural. | Programul va citi de la tastatură un număr natural. | ||
== Date de ieşire == | == Date de ieşire == | ||
Dacă datele introduse sunt corecte, pe ecran se va afișa '''"Datele introduse sunt corecte."''', apoi programul va afişa pe ecran suma dintre cea mai mică şi cea mai mare cifră ale numărului citit. În caz contrar, se va afișa pe ecran mesajul '''"Datele introduse nu sunt corecte."'''. | |||
== Restricții și precizări == | == Restricții și precizări == | ||
* numărul citit va fi mai mic decât '''2.000.000.000''' | * numărul citit va fi mai mic decât '''2.000.000.000''' | ||
Line 13: | Line 13: | ||
: 2745 | : 2745 | ||
; Ieșire | ; Ieșire | ||
: Datele introduse sunt corecte. | |||
: 9 | : 9 | ||
== Rezolvare == | == Rezolvare == | ||
Line 18: | Line 19: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
numar = | # Verifica daca numarul dat ca argument este mai mic decat 2 miliarde | ||
minim = min(str(numar)) | def verificare_date(numar): | ||
maxim = max(str(numar)) | if numar >= 2000000000: | ||
return False | |||
print(suma) | return True | ||
# Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar | |||
def determina_suma_min_max(numar): | |||
minim = min(str(numar)) # Converteste numarul in string si gaseste cea mai mica cifra | |||
maxim = max(str(numar)) # Converteste numarul in string si gaseste cea mai mare cifra | |||
return int(minim) + int(maxim) # Converteste cele doua cifre in int si calculeaza suma lor | |||
if __name__ == "__main__": | |||
numar = int(input("Introduceți un număr: ")) # Primeste de la utilizator un numar intreg | |||
if verificare_date(numar): | |||
print("Datele introduse sunt corecte.") | |||
suma = determina_suma_min_max(numar) # Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar | |||
print(suma) | |||
else: | |||
print("Datele introduse nu sunt corecte.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 17:46, 28 April 2023
Sursă: [1]
Cerinţa[edit | edit source]
Să se scrie un program care să determine suma dintre cea mai mică şi cea mai mare cifră ale unui număr natural citit de la tastatură.
Date de intrare[edit | edit source]
Programul va citi de la tastatură un număr natural.
Date de ieşire[edit | edit source]
Dacă datele introduse sunt corecte, pe ecran se va afișa "Datele introduse sunt corecte.", apoi programul va afişa pe ecran suma dintre cea mai mică şi cea mai mare cifră ale numărului citit. În caz contrar, se va afișa pe ecran mesajul "Datele introduse nu sunt corecte.".
Restricții și precizări[edit | edit source]
- numărul citit va fi mai mic decât 2.000.000.000
Exemplu[edit | edit source]
- Intrare
- 2745
- Ieșire
- Datele introduse sunt corecte.
- 9
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- Verifica daca numarul dat ca argument este mai mic decat 2 miliarde
def verificare_date(numar):
if numar >= 2000000000: return False return True
- Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar
def determina_suma_min_max(numar):
minim = min(str(numar)) # Converteste numarul in string si gaseste cea mai mica cifra maxim = max(str(numar)) # Converteste numarul in string si gaseste cea mai mare cifra return int(minim) + int(maxim) # Converteste cele doua cifre in int si calculeaza suma lor
if __name__ == "__main__":
numar = int(input("Introduceți un număr: ")) # Primeste de la utilizator un numar intreg if verificare_date(numar): print("Datele introduse sunt corecte.") suma = determina_suma_min_max(numar) # Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar print(suma) else: print("Datele introduse nu sunt corecte.")
</syntaxhighlight>