0793 - Sum Prod

De la Universitas MediaWiki

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.")