0793 - Sum Prod

From Bitnami MediaWiki

Cerință[edit | edit source]

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[edit | edit source]

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

Date de ieșire[edit | edit source]

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[edit | edit source]

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

Exemplul 1[edit | edit source]

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

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="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.")

</syntaxhighlight>