Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หมายเลข Delannoy คืออะไร? เขียนโปรแกรมในภาษา C++ เพื่อค้นหาหมายเลข Delannoy


เบอร์เดลานอย − หมายเลข 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. 

ตัวอย่างเช่น หมายเลข Delannoy D(3,3) เท่ากับ 63

อัลกอริทึมในการค้นหาหมายเลข Delannoy

  • ใช้พิกัดสองอัน (a,b) เป็นอินพุต

  • ฟังก์ชันจำนวนเต็ม createDelannoy(int a, int b) ซึ่งรับพิกัด 'a' และ 'b' เป็นอินพุต

  • ในกรณีฐาน เราจะตรวจสอบว่าพิกัด 'a' และ 'b' เป็นศูนย์หรือไม่ ให้คืนค่า 1

  • ในอีกกรณีหนึ่ง ให้สร้างหมายเลข Delannoy และส่งคืนผลลัพธ์โดยใช้ความสัมพันธ์ที่เกิดซ้ำเพื่อสร้างหมายเลข Delannoy D(a-1,b) + D(a,b-1) + D(a-1,b1)

ตัวอย่าง

#includeใช้เนมสเปซ std;int สร้างDelannoy(int a, int b){ int d=1; if((a==0) || (b==0)){ d=1; } อื่น ๆ { d =generateDelannoy(a-1,b) + generateDelannoy(a,b-1) + generateDelannoy(a1,b-1); } ส่งคืน d;}int main(){ int a=3; int b=3; ผลลัพธ์ int=0; ผลลัพธ์ =สร้างDelannoy(a,b); cout<<ผลลัพธ์< 

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะสร้างผลลัพธ์เป็น

63

สำหรับคะแนนที่กำหนด (a,b) =(3,3) การใช้ความสัมพันธ์การเกิดซ้ำ D(a-1,b) + D(a,b-1) + D(a-1,b-1) จะสร้าง Delannoy หมายเลข '63' เป็นเอาต์พุต