の カタロニア番号(OEISは)多くの場合、組み合わせ論に登場する自然数の列です。
n番目のカタロニア語番号は、Dyckの単語の数です(括弧または括弧のようなバランスの取れた文字列 [[][]]
です;形式的には、2文字aとbを使用して、先頭から始まる部分文字列の数がnumber以上の文字列として定義されます長さ2nで、文字列全体が同じ数のaおよびb文字を持ちます。n番目のカタロニア語番号(n> = 0の場合)も、次のように明示的に定義されます。
n = 0から始めて、最初の20個のカタロニア語番号は次のとおりです。
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190...
チャレンジ
STDINまたは受け入れ可能な代替手段を介して負でない整数nを取り、n番目のカタロニア語番号を出力する完全なプログラムまたは関数を作成します。プログラムは、入力0〜19に対して少なくとも機能する必要があります。
I / O
入力
プログラムは、STDIN、関数の引数、またはこのメタ投稿ごとに受け入れ可能な代替のいずれかから入力を受け取る必要があります。入力した数値は、標準の10進数表現、単項表現、またはバイトとして読み取ることができます。
- 言語がSTDINまたは受け入れ可能な代替から入力を取得できない場合(のみ)、ハードコーディングされた変数またはプログラム内の適切な同等物から入力を取得できます。
出力
プログラムは、n番目のカタロニア語番号をSTDOUT、関数結果、またはこのメタ投稿ごとに受け入れ可能な代替物に出力する必要があります。標準の10進数表現、単項表現、またはバイトでカタロニア語番号を出力できます。
出力は適切なカタロニア語番号で構成され、オプションで1つ以上の改行が続きます。抑制できない言語のインタープリターの一定の出力(挨拶、ANSIカラーコード、インデントなど)を除き、他の出力は生成できません。
これは、最短の言語を見つけることではありません。これは、すべての言語で最短のプログラムを見つけることです。したがって、私は答えを受け入れません。
この課題では、実装されている限り、課題より新しい言語は受け入れられます。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。それ以外は、コードゴルフのすべての標準ルールに従わなければなりません。ほとんどの言語での提出は、適切な既存のエンコーディング(通常はUTF-8)でバイト単位でスコア付けされます。また、n番目のカタロニア語番号を計算するための組み込み関数が許可されていることに注意してください。
カタログ
この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
## Language Name, N bytes
N
提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
## Ruby, <s>104</s> <s>101</s> 96 bytes
ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。
## Perl, 43 + 2 (-p flag) = 45 bytes
言語名をリンクにして、スニペットに表示することもできます。
## [><>](http://esolangs.org/wiki/Fish), 121 bytes