Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 09. 01. 2011 13:03

myrek
Příspěvky: 223
Reputace:   
 

catalanova čísla

Dobrý den všem
chtěl bych se zeptat zda se nějak elegantně dá napsat rekurze na Catalanova čísla.
Děkuji za odpovědi
P.S. Používám Pascal.

Offline

  • (téma jako vyřešené označil(a) myrek)

#2 09. 01. 2011 13:17 — Editoval TomDlask (09. 01. 2011 15:10)

Dioxid
Příspěvky: 416
Reputace:   13 
 

Re: catalanova čísla

Nestačila by wikipedie?
Hned první vzorec říká, že $C_0=1$ a dále platí:
http://upload.wikimedia.org/math/6/8/6/68670c88605e3168c7f1ed85edb97493.png
nebo tam je též tento (asi pro tebe vhodnější) tvar, jak vypočítat následující číslo:
http://upload.wikimedia.org/math/f/1/d/f1df1b7db3412b960cbf864fb0d8a6a1.png

Edit: Kód by mohl vypadat nějak takto:

Code:

function catalan(x:integer):integer;
begin
if(x=1)then catalan:=1
else begin
x:=x-1;
catalan:=round(((2*(2*x+1))/(x+2))*catalan(x));
end;
end;

Edit: teď jsem si všiml, že kód asi nebude fungovat pro nulté catalanovo číslo, ale to asi zvládneš upravit


Jsem omylný, proto ne vše, co jsem napsal, je zaručeně správně.
468

Offline

 

#3 10. 01. 2011 00:15

myrek
Příspěvky: 223
Reputace:   
 

Re: catalanova čísla

↑ TomDlask:
no jo wiki
i tak díky

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson