べる数か・・・今知った。どうでもいいけど、数学って、同じことを複数の数式で表すのは良いけど、アルゴリズムにしにくいなぁw
ベル数Bのn番目を・・・Σの数学的表記がはてな記法でかけねぇ、
http://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E6%95%B0
あたりからシグマを当てひろってもらうとすると
B(n+1)={nΣk=0}(nk)Bk={nΣk=0}nCk・Bk={nΣk=0}n!/((n-k)!k!)・Bk
ってことで
多倍長のクラスをCint として
cint factorial(int n){ cint r = cint(1); for(int i = 1 ; i <= n ; i++){ r*=i; } return r; } cint bell(int n){ n--; if(n==0){ return cint(0); } cint r = cint(0); for(int k=0 ; k <= n ; k++){ r+=factorial(n)/(factorial(n-k)*factorial(k))*bell(k) } return r; }
こんな感じか?
というか(n k )縦書き とかnCk とか n!/((n-k)!k!) とか、よくわかりません。orz
で、どうやって検算するんだ?
5703439711833492338840711483471143122693032009266787005 628738645358525569562133411693744764071244457581906592 5414826338109830563031097731325340413930476189997715296 6030169895561403251788119099533938011536868062831457986 5660941415028040897219325883...
何のつもり?
一見、無意味な数も何かを表していることがある 優秀な増田達がこれをどう解明するか見届けることはないだろうが これで俺のエントリーは終わりにする
べる数か・・・今知った。どうでもいいけど、数学って、同じことを複数の数式で表すのは良いけど、アルゴリズムにしにくいなぁw ベル数Bのn番目をΣがかけねぇ、http://ja.wikipedia.org/wik...