2917 - Catalan: Difference between revisions
Tita Marian (talk | contribs) 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... |
Tita Marian (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== 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 " | Î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 | ||
== | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
5 | 5 | ||
; Ieșire | ; Ieșire | ||
42 | Datele de intrare corespund restricțiilor impuse | ||
42 | |||
<br> | <br> | ||
== | == 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( | n = int(input()) | ||
if 0 <= n <= 1000: | if 0 <= n <= 1000: | ||
rezultat = calculeaza_numar_catalan(n) | rezultat = calculeaza_numar_catalan(n) | ||
print( | 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>