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

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

王林
Lepaskan: 2023-09-11 22:33:02
ke hadapan
1346 orang telah melayarinya

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.
Salin selepas log masuk
  • mentafsir semula simbol Kuantiti

    ((())) ()(()) ()()() (())() (()())
    Salin selepas log masuk
    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))
    Salin selepas log masuk
    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;
}
Salin selepas log masuk

Output

1 1 2 5 14 42
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan