ホームページ バックエンド開発 C++ n番目のカタロニア数のCプログラム

n番目のカタロニア数のCプログラム

Aug 28, 2023 pm 02:25 PM
Cプログラム n番目 カタルーニャ語番号

n番目のカタロニア数のCプログラム

整数 n が与えられると、タスクは、その n 番目の位置にあるカタロニア語番号を見つけることです。したがって、プログラムを実行する前に、カタロニア数とは何かを知る必要があります。

カタロニア数は自然数のシーケンスであり、さまざまな数え数の問題の形で発生します。

カタロニア数 C0 、C1、C2、… Cn は、式 −

$$c_{n}=\frac{1}{n 1}\binom{2n}{n} = \frac{2n!}{ によって駆動されます。 (n 1)!n!}$$

各 n = 0、1、2、3、… に対するいくつかのカタロニア語の数は、1、1、2、5、14、42、132 です。 , 429, 1430, 4862, …

したがって、n =3 と入力すると、プログラムからの出力として 5 が得られるはずです

Someカタロニア数のいくつかの応用例

  • n 個のキーを持つ可能な二分探索木の数を数えます。
  • 正しく n 組のかっこを含む式の数を見つけます。一致しました。 n = 3 の場合と同様に、使用できる括弧の式は ((()))、()(())、()()()、(())()、(()()) になります。
  • 円上の点を接続するための複数の接続方法を見つけます。その他のコード。問題を解決する方法

入力。

循環を返します。 〜i 各 i に対して、result = result (catalan(i)*catalan(n-i-1))
  • が設定され、結果が返され、印刷されます。
  • #算法
  • Input: n = 6
    Output: 132
    Input: n = 8
    Output: 1430
    ログイン後にコピー
  • の中文翻訳:
  • 例例
  • Start
       Step 1 -> In function unsigned long int catalan(unsigned int n)
          If n <= 1 then,
             Return 1
          End if
          Declare an unsigned long variable res = 0
          Loop For i=0 and i<n and i++
             Set res = res + (catalan(i)*catalan(n-i-1))
          End Loop
          Return res
       Step 2 -> int main()
       Declare an input n = 6
       Print "catalan is : then call function catalan(n)
    Stop
    ログイン後にコピー
  • 出力
  • #include <stdio.h>
    // using recursive approach to find the catalan number
    unsigned long int catalan(unsigned int n) {
       // Base case
       if (n <= 1) return 1;
       // catalan(n) is sum of catalan(i)*catalan(n-i-1)
       unsigned long int res = 0;
       for (int i=0; i<n; i++)
          res += catalan(i)*catalan(n-i-1);
       return res;
    }
    //Main function
    int main() {
       int n = 6;
       printf("catalan is :%ld</p><p>", catalan(n));
       return 0;
    }
    ログイン後にコピー

以上がn番目のカタロニア数のCプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム 以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム Sep 05, 2023 pm 09:53 PM

以下に、ローマ数字を 10 進数に変換する C 言語アルゴリズムを示します。 アルゴリズム ステップ 1 - 開始 ステップ 2 - 実行時にローマ数字を読み取る ステップ 3 - 長さ: = strlen(roman) ステップ 4 - i=0 から長さ-1 の場合 ステップ4.1-switch(roman[i]) ステップ 4.1.1-case'm': &nbs

2 つの文字列の辞書編集上の順序を比較する C++ プログラム 2 つの文字列の辞書編集上の順序を比較する C++ プログラム Sep 04, 2023 pm 05:13 PM

辞書編集的な文字列比較とは、文字列が辞書順に比較されることを意味します。たとえば、「apple」と「appeal」という 2 つの文字列がある場合、「app」の最初の 3 文字が同じであるため、最初の文字列が最後に来ます。次に、最初の文字列の文字は「l」で、2 番目の文字列の 4 番目の文字は「e」になります。 「e」は「l」より短いため、辞書順に並べ替えると最初に表示されます。文字列は配置される前に辞書順に比較されます。この記事では、C++ を使用して 2 つの文字列を辞書編集的に比較するためのさまざまな手法を見ていきます。 C++ 文字列での Compare() 関数の使用 C++string オブジェクトには Compare() があります。

リンクリストの長さを求めるCプログラム リンクリストの長さを求めるCプログラム Sep 07, 2023 pm 07:33 PM

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム 指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム Sep 17, 2023 am 10:49 AM

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

辞書を印刷する C++ プログラム 辞書を印刷する C++ プログラム Sep 11, 2023 am 10:33 AM

マップは C++ の特別なタイプのコンテナで、各要素は 2 つの値、つまりキー値とマップ値のペアです。キー値は各項目のインデックス付けに使用され、マップされた値はキーに関連付けられた値です。マップされた値が一意であるかどうかに関係なく、キーは常に一意です。 C++ でマップ要素を出力するには、反復子を使用する必要があります。項目のセット内の要素は、反復子オブジェクトによって示されます。イテレータは主に配列や他のタイプのコンテナ (ベクトルなど) で使用され、特定の範囲内の特定の要素を識別するために使用できる特定の操作セットを備えています。イテレータをインクリメントまたはデクリメントして、範囲またはコンテナ内に存在するさまざまな要素を参照できます。イテレータは、範囲内の特定の要素のメモリ位置を指します。イテレータを使用して C++ でマップを出力する まず、定義方法を見てみましょう。

C プログラムは rename() 関数を使用してファイル名を変更します C プログラムは rename() 関数を使用してファイル名を変更します Sep 21, 2023 pm 10:01 PM

名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

n番目のカタロニア語番号のC/C++プログラムは何ですか? n番目のカタロニア語番号のC/C++プログラムは何ですか? Sep 11, 2023 pm 10:33 PM

カタロニア語の数字は一連の数字です。カタロニア数は、さまざまな計数問題に現れる一連の自然数であり、多くの場合、再帰的に定義されたオブジェクトが関係します。 Cn は長さ 2n の Dyck ワードの数です。 Dyck ワードは、n 個の X と n 個の Y で構成される文字列で、文字列の最初のフラグメントでは Y の数が X の数を超えません。たとえば、次は長さ 6 の Dyck ワードです: XXXYYYXYXXYYXYXYXYXXYYXYXXYXYY. シンボル )(())()()()(())()(()())Cn の再解釈は、完全に解釈できる要素ではありません。 n+1 個の因子で囲まれる

ユークリッドアルゴリズムを実装するCプログラム ユークリッドアルゴリズムを実装するCプログラム Sep 17, 2023 pm 12:41 PM

この問題では、ユークリッドのアルゴリズムを実装して 2 つの整数の最大公約数 (GCD) と最小公倍数 (LCM) を求め、結果を指定された整数で出力します。解決策 2 つの整数の最大公約数 (GCD) と最小公倍数 (LCM) を求めるユークリッド アルゴリズムを実装する解決策は次のとおりです。GCD と最小公倍数を求めるロジックは次のとおりです。if (firstno*secondno!=0) { gcd= gcd_rec(firstno,nextno); printf("TheGCDof%dand%dis%d",

See all articles