カタロニア語数は再帰を満たします
もちろん、カタロニア語の数には、二項係数を含む閉じた形式の式があります。また、C_{n-1} だけで C_n を表すこともできます。私が疑問に思っているのは、SML や Haskell などの関数型言語でこの種の畳み込みをどのように実装できるかということです。
カタロニア語数は再帰を満たします
もちろん、カタロニア語の数には、二項係数を含む閉じた形式の式があります。また、C_{n-1} だけで C_n を表すこともできます。私が疑問に思っているのは、SML や Haskell などの関数型言語でこの種の畳み込みをどのように実装できるかということです。
もちろん、haskell でカタロニア語の数字を実装することもできます (ML ファミリも十分に強力だと思います)。
しかし、これはあなたが探していた答えではないと思います。したがって、基本的な haskell 構文に精通していることを願っています。カタロニア語の数を関数と考えてください。catalan :: Int -> Int
自然数の系列はすべて関数です (小さなインデックスの場合)。しかし、カタロニア語の数は非常に急速に増加するため、関数のコドメインにInteger
s(= 任意の大きな整数) の型を選択します。
catalan :: Int -> Integer
catalan 0 = 1
catalan n = sum [ ?catalan magic? | i <- [1..n]]
私は問題をほぼ解決したことを知っていますが、まだカタロニアの魔法があります;-)あなたは自分でやらなければなりません.
しかし、いくつかの警告を停止する前に