2917 - Catalan: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Numerele lui Catalan formează un șir cunoscut în combinatorică. Termenul general al acestui șir este: Cn=Cn2n–Cn+12n=1n+1⋅Cn2n=∏k=2nn+kk,pentru n≥0��=�2��–�2��+1=1�+1⋅�2��=∏�=2��+��,pentru �≥0 Primele 1010 numere Catalan sunt: 1,1,2,5,14,42,132,429,1430,4862 == Date de intrare == Programul citește de la tastatură numărul '''n'''. Programul va afișa pe ecran al '''n'''-lea număr Catalan. În cazul în...
 
No edit summary
Line 1: Line 1:
== Cerinţa ==
Numerele lui Catalan formează un șir cunoscut în combinatorică. Termenul general al acestui șir este:
Cn=Cn2n–Cn+12n=1n+1⋅Cn2n=∏k=2nn+kk,pentru n≥0��=�2��–�2��+1=1�+1⋅�2��=∏�=2��+��,pentru �≥0
Primele 1010 numere Catalan sunt: 1,1,2,5,14,42,132,429,1430,4862
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.

Revision as of 19:10, 15 November 2023

Date de intrare

Programul citește de la tastatură numărul n. Programul va afișa pe ecran al n-lea număr Catalan. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse. ".

Restricţii şi precizări

  • 0 ⩽ n ⩽ 1000

Exemplu 1

Intrare

5

Ieșire

42

Exemplu 2

Intrare

-2

Ieșire

Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

<syntaxhighlight lang="python" line> import math

def calculeaza_numar_catalan(n):

   return math.factorial(2 * n) // (math.factorial(n + 1) * math.factorial(n))

if __name__ == "__main__":

   try:
       n = int(input("Introduceți numărul n: "))
       if 0 <= n <= 1000:
           rezultat = calculeaza_numar_catalan(n)
           print(f"Al {n}-lea număr Catalan este: {rezultat}")
       else:
           print("Datele de intrare nu corespund restrictiilor impuse.")
   except ValueError:
       print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>