0793 - Sum Prod

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerință

Se dau trei numere naturale a b c. Să se determine cea mai mare valoare care se poate obține prin înmulțirea a două dintre numere și adunarea rezultatului cu al treilea.

Date de intrare

Programul citește de la tastatură numerele a b c.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul R, reprezentând maximul determinat.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

  • Numerele a, b, c sunt incluse intre 0 si 1000, inclusiv.

Exemplul 1

Intrare
3 2 4
Ieșire
Datele de intrare corespund restricțiilor impuse.
14

Rezolvare

Rezolvare ver. 1

def validare(a, b, c):  # Punem conditia ca numerele sa fie incluse intre 0 si 1000, inclusiv
    if 0 <= a <= 1000 and 0 <= b <= 1000 and 0 <= c <= 1000:
        return True
    return False


def sum_prod(a, b, c):
    # Determinăm produsul maxim dintre două dintre cele trei numere date
    max_prod = max(a * b, b * c, c * a)
    # Adunăm produsul maxim la cel de-al treilea număr
    R = max_prod + min(a, b, c)
    return R


if __name__ == "__main__":
    a, b, c = map(int, input().split())  # Citim numerele de la tastatura
    if validare(a, b, c):  # Aplicam functia de validare pe numerele introduse
        print("Datele de intrare corespund restricțiilor impuse.")
        print(sum_prod(a, b, c))  # Apelam functia sum_prod ca sa aflam rezultatul
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")