0

カタロニア語数は再帰を満たします

カタロニア再発

もちろん、カタロニア語の数には、二項係数を含む閉じた形式の式があります。また、C_{n-1} だけで C_n を表すこともできます。私が疑問に思っているのは、SML や Haskell などの関数型言語でこの種の畳み込みをどのように実装できるかということです。

4

1 に答える 1

1

もちろん、haskell でカタロニア語の数字を実装することもできます (ML ファミリも十分に強力だと思います)。

しかし、これはあなたが探していた答えではないと思います。したがって、基本的な haskell 構文に精通していることを願っています。カタロニア語の数を関数と考えてください。catalan :: Int -> Int自然数の系列はすべて関数です (小さなインデックスの場合)。しかし、カタロニア語の数は非常に急速に増加するため、関数のコドメインにIntegers(= 任意の大きな整数) の型を選択します。

catalan :: Int -> Integer
catalan 0 = 1
catalan n = sum [ ?catalan magic? | i <- [1..n]]

私は問題をほぼ解決したことを知っていますが、まだカタロニアの魔法があります;-)あなたは自分でやらなければなりません.

しかし、いくつかの警告を停止する前に

  • カタロニア語の数字を計算するこのバージョンは、最適でも効率的でもありませ
  • 負の入力値の場合は考慮されません。
于 2014-02-08T19:31:38.313 に答える