Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

델라노이 번호란? C++로 델라노이 수를 찾는 프로그램 작성

<시간/>

델라노이 숫자 − A Delannoy 수 D는 동쪽( →), 북동쪽( ↗ ) 및 북쪽( ↑ ) 단계만 허용된 직사각형 그리드에서 남서쪽 모서리(0,0)에서 북동쪽 모서리(a,b)까지의 경로 수를 나타냅니다.

따라서 재귀 관계는 다음과 같다고 말할 수 있습니다.

D(a,b) =D(a-1,b) + D(a, b-1) + D(a-1, b-1) 여기서 D(0,0)=1. 

예를 들어 델라노이 수 D(3,3)는 63과 같습니다.

Delannoy 수를 찾는 알고리즘

  • 두 좌표(a,b)를 입력으로 사용합니다.

  • 좌표 'a'와 'b'를 입력으로 사용하는 정수 함수 generateDelannoy(int a, int b).

  • 기본 경우 좌표 'a'와 'b'가 0이면 1을 반환하는지 확인합니다.

  • 다른 경우에는 델라노이 수를 생성하고 딜라노이 수 D(a-1,b) + D(a,b-1) + D(a-1,b1)를 생성하는 반복 관계를 사용하여 결과를 반환합니다.

#include네임스페이스 std;int generateDelannoy(int a, int b){ int d=1; if((a==0) || (b==0)){ d=1; } else { d =generateDelannoy(a-1,b) + generateDelannoy(a,b-1) + generateDelannoy(a1,b-1); } return d;}int main(){ int a=3; 정수 b=3; 정수 결과 =0; 결과 =생성Delannoy(a,b); cout<<결과< 

출력

위의 코드를 실행하면 다음과 같이 출력이 생성됩니다.

63

주어진 점 (a,b) =(3,3)에 대해 반복 관계 D(a-1,b) + D(a,b-1) + D(a-1,b-1)를 사용하면 다음이 생성됩니다. 출력으로 델라노이 번호 '63'.