3072 - Sum Prod Max 3: Difference between revisions
Sinn Erich (talk | contribs) |
Sinn Erich (talk | contribs) |
||
Line 7: | Line 7: | ||
== Date de ieșire == | == Date de ieșire == | ||
Programul va afișa pe ecran | Programul va afișa pe ecran cele trei numere naturale '''a b c''', determinate, în ordine crescătoare, separate prin câte un spațiu. | ||
== Restricţii şi precizări == | == Restricţii şi precizări == |
Revision as of 10:08, 1 April 2023
Sursa: [1]
Cerinţa
Scrieți un program care citește un număr natural nenul n și care determină și afișează trei numere naturale a, b și c, astfel încât a+b+c=n și produsul a*b*c este maximul dintre produsele oricăror trei numere naturale care adunate dau suma egală cu n.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran cele trei numere naturale a b c, determinate, în ordine crescătoare, separate prin câte un spațiu.
Restricţii şi precizări
- 0 < n ⩽ 10
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele corespund cerințelor.
- 576
Exemplul 2
- Intrare
- 16
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele corespund cerințelor.
- 25401600
Rezolvare
<syntaxhighlight lang="python" line>
- 4273
def patrate_perfecte(n):
patrate = [] i = 1 while len(patrate) < n: patrat = i * i patrate.append(patrat) i += 1 return patrate
def calculeaza(numbers):
product = 1 for number in numbers: product *= number return product
def validare_numar(n):
if n < 1 or n > 10: return False return True
if __name__ == '__main__':
n = int(input("Introduceți numărul n: ")) if not validare_numar(n): print("Datele introduse nu corespund cerintelor.") else: squares = patrate_perfecte(n) product = calculeaza(squares) print("Datele introduse corespund cerintelor.") print(product)
</syntaxhighlight>