- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What are Delannoy Numbers? Write a program in C++ to find the Delannoy number
Delannoy Numbers − A Delannoy number D describes the number of paths from the southwest corner(0,0) to northeast corner(a,b) in a rectangular grid using only allowed steps east ( →), northeast ( ↗ ) and north ( ↑ ).
Thus, we can say that a recurrence relation is,
D(a,b) = D(a-1,b) + D(a, b-1) + D(a-1, b-1) where D(0,0)=1.
For example, the Delannoy number D(3,3) equals 63.
Algorithm to find the Delannoy Number
Take two coordinates (a,b) as Input.
An Integer function generateDelannoy(int a, int b) which takes coordinates ‘a’ and ‘b’ as input.
In the base case, we will check If coordinates ‘a’ and ‘b’ are zero then return 1.
In the other case generate the Delannoy number and return the result by using recurrence relation for generating the Delannoy number D(a-1,b) + D(a,b-1) + D(a-1,b1).
Example
#include<iostream> using namespace 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; int b=3; int result=0; result= generateDelannoy(a,b); cout<<result<<endl; }
Output
Running the above code will generate the output as,
63
For the given points (a,b) = (3,3), using the recurrence relation D(a-1,b) + D(a,b-1) + D(a-1,b-1) will generate the Delannoy number ‘63’ as output.