Rumah >pembangunan bahagian belakang >C++ >Apakah program C/C++ untuk nombor Catalan ke-n?

Apakah program C/C++ untuk nombor Catalan ke-n?

王林
王林ke hadapan
2023-09-11 22:33:021347semak imbas

Nombor Catalan ialah satu siri nombor. Nombor Catalan ialah jujukan nombor asli yang muncul dalam pelbagai masalah pengiraan, selalunya melibatkan objek yang ditakrifkan secara rekursif.

Apakah program C/C++ untuk nombor Catalan ke-n?Apakah program C/C++ untuk nombor Catalan ke-n?

  • Cn ialah bilangan perkataan Dyck dengan panjang 2n. Perkataan Dyck ialah rentetan yang terdiri daripada n X dan n Y supaya bilangan Y tidak melebihi bilangan X dalam mana-mana segmen awal rentetan. Sebagai contoh, berikut ialah perkataan Dyck dengan panjang 6:

XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY.
  • mentafsir semula simbol Kuantiti

    ((())) ()(()) ()()() (())() (()())
    C
  • n

    sepenuhnya ialah bilangan faktor berbeza yang boleh menjadi n +1 disertakan (atau bilangan cara mengaitkan n aplikasi pengendali binari). Sebagai contoh, untuk n = 3, kami mempunyai lima kurungan berbeza untuk empat faktor berikut:

    ((ab)c)d (a(bc))d (ab)(cd) a((bc)d) a(b(cd))
    Aplikasi berturut-turut pengendali binari boleh diwakili oleh pokok binari yang lengkap. (Pokok binari berakar dikatakan lengkap jika setiap bucu mempunyai sama ada dua nod anak atau tiada nod anak.) Daripada ini, C
  • n

    ialah bilangan pokok binari lengkap dengan n + 1 daun:

  • Contoh

Input

- 6

Output

- 1 1 2 5 14 42Penjelasan

Apabila n = 0, 1, 2, 3,4,5,6,7, 8, . ., nombor pertama n Catalan ialah

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862,

Contoh

#include<iostream>
using namespace std;
long int catalan( int n) {
   if (n <= 1){
      return 1;
   }
   long int result = 0;
   for (int i=0; i<n; i++){
      result += catalan(i)*catalan(n-i-1);
   }
   return result;
}
int main(){
   for (int i=0; i<6; i++)
   cout << catalan(i) << " ";
   return 0;
}

Output

1 1 2 5 14 42

Atas ialah kandungan terperinci Apakah program C/C++ untuk nombor Catalan ke-n?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Artikel berkaitan

Lihat lagi