> 백엔드 개발 > C++ > 본문

n번째 카탈로니아 숫자에 대한 C/C++ 프로그램은 무엇입니까?

王林
풀어 주다: 2023-09-11 22:33:02
앞으로
1330명이 탐색했습니다.

카탈로니아 숫자는 일련의 숫자입니다. 카탈로니아 수는 종종 재귀적으로 정의된 객체와 관련된 다양한 계산 문제에 나타나는 일련의 자연수입니다.

n번째 카탈로니아 숫자에 대한 C/C++ 프로그램은 무엇입니까?n번째 카탈로니아 숫자에 대한 C/C++ 프로그램은 무엇입니까?

  • Cn은 길이가 2n인 Dyck 단어의 개수입니다. Dyck 단어는 Y의 수가 문자열의 초기 조각에 있는 X의 수를 초과하지 않는 n개의 X와 n개의 Y로 구성된 문자열입니다. 예를 들어, 다음은 길이가 6인 Dyck 단어입니다.

XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY.
로그인 후 복사
  • 기호를 재해석합니다. 수량

    ((())) ()(()) ()()() (())() (()())
    로그인 후 복사
    C
  • n

    은 n + 1 요소가 완전하게 될 수 있는 다양한 방법의 수입니다. 동봉됨(또는 이진 연산자의 n 적용을 연관시키는 방법의 수). 예를 들어 n = 3인 경우 다음 네 가지 요소에 대해 다섯 개의 서로 다른 괄호가 있습니다.

    ((ab)c)d (a(bc))d (ab)(cd) a((bc)d) a(b(cd))
    로그인 후 복사
    이진 연산자의 연속 적용은 완전한 이진 트리로 표현될 수 있습니다. (각 정점에 두 개의 자식 노드가 있거나 자식 노드가 없으면 루트 이진 트리가 완전하다고 합니다.) 여기서 C
  • n

    은 n + 1개의 잎이 있는 완전한 이진 트리의 수입니다.

  • Example

입력

- 6

출력

- 1 1 2 5 14 42설명

n = 0, 1, 2, 3,4,5,6,7,8,9,10 , .. ., 첫 번째 n개의 카탈로니아어 숫자는

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

#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
로그인 후 복사

입니다.

위 내용은 n번째 카탈로니아 숫자에 대한 C/C++ 프로그램은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿