0354 - N Maxim

De la Universitas MediaWiki

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

Exemple

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

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()