1336 - Domino Dots: Difference between revisions
Sinn Erich (talk | contribs) |
Sinn Erich (talk | contribs) |
||
| Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp] | Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp] | ||
== Cerinţa == | == Cerinţa == | ||
Se consideră toate piesele distincte de domino care au cel mult '''n'''puncte pe fiecare capăt. Determinați suma obținută prin adunarea numerelor de puncte de pe toate aceste piese. | Se consideră toate piesele distincte de domino care au cel mult '''n''' puncte pe fiecare capăt. Determinați suma obținută prin adunarea numerelor de puncte de pe toate aceste piese. | ||
== Date de intrare == | == Date de intrare == | ||
Revision as of 11:04, 1 April 2023
Sursa: [1]
Cerinţa
Se consideră toate piesele distincte de domino care au cel mult n puncte pe fiecare capăt. Determinați suma obținută prin adunarea numerelor de puncte de pe toate aceste piese.
Date de intrare
Se dă n număr natural, reprezentând numărul maxim de puncte de pe un capăt al unei piese de domino.
Date de ieșire
Programul va afișa s, suma ceruta .
Restricţii şi precizări
1 ≤ n ≤ 20000;
evident, piesele de domino pot avea mai mult de 6 puncte pe fiecare din capete;
piesele (x,y) și (y,x) nu sunt distincte.
Exemplul 1
- Intrare
- 2
- Ieșire
- 12
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>