อัลกอริธึมแบบเรียกซ้ำคืออัลกอริธึมที่เรียกตัวเองโดยตรงหรือโดยอ้อม ในการเขียนโปรแกรมคอมพิวเตอร์ อัลกอริธึมแบบเรียกซ้ำมีประสิทธิภาพมากในการแก้ปัญหาประเภทใหญ่ มักจะทำให้คำอธิบายของอัลกอริธึมกระชับและเข้าใจง่าย
คำถามที่ 1: กฎสำหรับคอลัมน์ตัวเลขมีดังนี้ 1, 1, 2, 3, 5, 8, 13, 21, 34 หลักที่ 30 คืออะไร? ใช้การเรียกซ้ำเพื่อนำไปใช้
-
สาธารณะคงที่ int Fribonacci (int n) {
ถ้า(n<=2)
กลับ 1;
อื่น
กลับฟรีโบนัชชี(n-1)+ฟรีโบนัชชี(n-2);
-
-
หอคอยแห่งฮานอย (หรือเรียกอีกอย่างว่าหอคอยแห่งฮานอย) จริงๆ แล้วเป็นตำนานโบราณในอินเดีย
พระพรหมซึ่งเป็นเทพเจ้าผู้สร้างโลก (เทพเจ้าที่คล้ายกับปังกู่ในจีน) ทิ้งแท่งเพชรไว้ 3 แท่งในวิหาร องค์แรกปิดด้วยทองคำทรงกลม 64 องค์ องค์ใหญ่ที่สุดอยู่ที่ด้านล่าง และอีกอันคือ อันเล็กกว่าอันเล็กซ้อนกันแล้วพระในวัดก็ย้ายทีละอันจากไม้หนึ่งไปอีกไม้หนึ่งกำหนดไว้ว่าจะใช้ไม้กลางเป็นตัวช่วยได้ แต่เคลื่อนย้ายได้เพียงอันเดียว และอันใหญ่ไม่สามารถวางทับอันเล็กได้ ผลการคำนวณน่ากลัวมาก (จำนวนครั้งที่ย้ายจาน): 18446744073709551615 แม้ว่าพระสงฆ์จะใช้เวลาทั้งชีวิตก็ยังไม่สามารถเคลื่อนจานทองให้เสร็จสิ้นได้
ข้อกำหนด: ป้อนจำนวนเต็มบวก n ซึ่งระบุว่ามี n ดิสก์บนเสาหลักแรก ส่งออกลำดับการดำเนินการในรูปแบบ "ย้าย t จาก x ไป y" การดำเนินการแต่ละครั้งจะมีหนึ่งบรรทัด ซึ่งหมายถึงการย้ายดิสก์ที่มีหมายเลข t บนคอลัมน์ x ไปยังคอลัมน์ y คอลัมน์จะมีหมายเลข A, B และ C คุณต้องถ่ายโอนเพลตทั้งหมดจากคอลัมน์ A ไปยังคอลัมน์ C โดยมีการดำเนินการน้อยที่สุด