1336 - Domino Dots

From Bitnami MediaWiki

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>

  1. 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>