0354 - N Maxim: Difference between revisions
MiclausIoana (talk | contribs) No edit summary |
MiclausIoana (talk | contribs) No edit summary |
||
Line 5: | Line 5: | ||
Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere întregi, separate prin spaţii. | Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere întregi, separate prin spaţii. | ||
== Date de ieșire == | == Date de ieșire == | ||
Dacă datele introsuse sunt corecte programul va afisa "Datele introduse corespund cerinței" ,programul afișează pe ecran numărul '''MAX''', reprezentând cel mai mare dintre cele '''n''' numere date, iar in caz contrar programul va afisa "Datele introduse nu corespund cerinței". | |||
== Restricții și precizări == | == Restricții și precizări == | ||
* 1 ≤ n ≤ 1.000 | * 1 ≤ n ≤ 1.000 | ||
* cele '''n''' numere citite vor avea cel mult '''9''' cifre | * cele '''n''' numere citite vor avea cel mult '''9''' cifre | ||
== Exemplu == | == Exemplu 1 == | ||
; Date de intrare | ; Date de intrare | ||
:5 | :5 | ||
Line 15: | Line 15: | ||
; Date de iesire | ; Date de iesire | ||
:9 | :9 | ||
== Exemplu 2 == | |||
; Date de intrare | |||
:4 | |||
: 1 2 3 4 | |||
; Date de iesire | |||
:4 | |||
== Exemplu 3 == | |||
; Date de intrare | |||
: 3 | |||
: 76968635425 456 6 | |||
; Date de iesire | |||
:"Datele introduse nu corespund cerinței" | |||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n = int(input("Introduceți numărul de valori: ")) | def nrcifre(n): | ||
maxi = None | nrcif = 0 | ||
for i in range(n): | while n != 0: | ||
n = n // 10 | |||
nrcif += 1 | |||
return nrcif | |||
def validare_restrictii(n): | |||
cifre = nrcifre | |||
if 1 <= n <= 1000 and cifre <= 9: | |||
return "Datele introduse corespund cerinței" | |||
else: | |||
return "Datele introduse nu corespund cerinței" | |||
def valoarea_maxima(): | |||
n = int(input("Introduceți numărul de valori: ")) | |||
maxi = None | |||
for i in range(n): | |||
try: | |||
x = int(input("Introduceți o valoare: ")) | |||
if nrcifre(x) <= 9: | |||
if maxi is None or x > maxi: | |||
maxi = x | |||
else: | |||
print("Valoarea introdusă are peste 9 cifre.") | |||
except ValueError: | |||
print("Introduceți doar numere întregi.") | |||
if maxi is not None: | |||
print("Valoarea maximă cu cel mult 9 cifre este:", maxi) | |||
if | if _name_ == '_main_': | ||
n = int(input("Introduceți un număr: ")) | |||
print(validare_restrictii(n)) | |||
valoarea_maxima() | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:41, 22 March 2023
Sursă: [1]
Cerinţa
Se dau n numere întregi. Calculaţi cel mai mare dintre cele n numere date.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere întregi, separate prin spaţii.
Date de ieșire
Dacă datele introsuse sunt corecte programul va afisa "Datele introduse corespund cerinței" ,programul afișează pe ecran numărul MAX, reprezentând cel mai mare dintre cele n numere date, iar in caz contrar programul va afisa "Datele introduse nu corespund cerinței".
Restricții și precizări
- 1 ≤ n ≤ 1.000
- cele n numere citite vor avea cel mult 9 cifre
Exemplu 1
- Date de intrare
- 5
- 7 6 9 6 8
- Date de iesire
- 9
Exemplu 2
- Date de intrare
- 4
- 1 2 3 4
- Date de iesire
- 4
Exemplu 3
- Date de intrare
- 3
- 76968635425 456 6
- Date de iesire
- "Datele introduse nu corespund cerinței"
Rezolvare
<syntaxhighlight lang="python" line="1">
def nrcifre(n):
nrcif = 0 while n != 0: n = n // 10 nrcif += 1 return nrcif
def validare_restrictii(n):
cifre = nrcifre if 1 <= n <= 1000 and cifre <= 9: return "Datele introduse corespund cerinței" else: return "Datele introduse nu corespund cerinței"
def valoarea_maxima():
n = int(input("Introduceți numărul de valori: ")) maxi = None for i in range(n): try: x = int(input("Introduceți o valoare: ")) if nrcifre(x) <= 9: if maxi is None or x > maxi: maxi = x else: print("Valoarea introdusă are peste 9 cifre.") except ValueError: print("Introduceți doar numere întregi.") if maxi is not None: print("Valoarea maximă cu cel mult 9 cifre este:", maxi)
if _name_ == '_main_':
n = int(input("Introduceți un număr: ")) print(validare_restrictii(n)) valoarea_maxima()
</syntaxhighlight>