Số Delannoy - Số Delannoy D mô tả số đường đi từ góc tây nam (0,0) đến góc đông bắc (a, b) trong một lưới hình chữ nhật chỉ sử dụng các bước được phép về phía đông (→), đông bắc (↗) và bắc (↑).
Do đó, chúng ta có thể nói rằng mối quan hệ lặp lại là,
D (a, b) =D (a-1, b) + D (a, b-1) + D (a-1, b-1) where D (0,0) =1.Ví dụ, số Delannoy D (3,3) bằng 63.
Thuật toán tìm Số Delannoy
-
Lấy hai tọa độ (a, b) làm Đầu vào.
-
Một hàm Integer createDelannoy (int a, int b) lấy tọa độ ‘a’ và ‘b’ làm đầu vào.
-
Trong trường hợp cơ sở, chúng tôi sẽ kiểm tra Nếu tọa độ ‘a’ và ‘b’ bằng 0 thì trả về 1.
-
Trong trường hợp khác, tạo số Delannoy và trả về kết quả bằng cách sử dụng quan hệ lặp lại để tạo số Delannoy D (a-1, b) + D (a, b-1) + D (a-1, b1).
Ví dụ
#includeusing namespace std; int createDelannoy (int a, int b) {int d =1; if ((a ==0) || (b ==0)) {d =1; } else {d =createDelannoy (a-1, b) + createDelannoy (a, b-1) + createDelannoy (a1, b-1); } return d;} int main () {int a =3; int b =3; int kết quả =0; result =createDelannoy (a, b); cout < Đầu ra
Chạy đoạn mã trên sẽ tạo ra kết quả là,
63Đối với các điểm đã cho (a, b) =(3,3), sử dụng quan hệ lặp lại D (a-1, b) + D (a, b-1) + D (a-1, b-1) sẽ tạo ra số Delannoy '63' làm đầu ra.