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
 
(2 intermediate revisions by the same user not shown)
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'''.
==Date de ieșire==
Programul va afișa pe ecran al '''n'''-lea număr Catalan.
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. '''".
Î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." iar daca se indeplinesc se afiseaza "Datele de intrare corespund restricțiilor impuse."
== Restricţii şi precizări ==
== Restricţii şi precizări ==
* 0 ⩽ '''n''' ⩽ 1000
* 0 ⩽ '''n''' ⩽ 1000
== Exemplu 1 ==
== Exemplul 1 ==
; Intrare
; Intrare
5
5
; Ieșire
; Ieșire
42
Datele de intrare corespund restricțiilor impuse
42
<br>
<br>
== Exemplu 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
-2
-2
; Ieșire
; Ieșire
Datele de intrare nu corespund restricțiilor impuse.
Datele de intrare nu corespund restricțiilor impuse.
<br>
<br>


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


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 19:25, 4 January 2024

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n.

Date de ieșire[edit | edit source]

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." iar daca se indeplinesc se afiseaza "Datele de intrare corespund restricțiilor impuse."

Restricţii şi precizări[edit | edit source]

  • 0 ⩽ n ⩽ 1000

Exemplul 1[edit | edit source]

Intrare
5
Ieșire
Datele de intrare corespund restricțiilor impuse
42


Exemplul 2[edit | edit source]

Intrare
-2
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare[edit | edit source]

<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())
       if 0 <= n <= 1000:
           rezultat = calculeaza_numar_catalan(n)
           print("Datele de intrare corespund restrictiilor impuse.")
           print(rezultat)
       else:
           print("Datele de intrare nu corespund restrictiilor impuse.")
   except ValueError:
       print("Datele de intrare nu corespund restrictiilor impuse.")


</syntaxhighlight>