แนวคิดมีดังนี้:
เพื่อให้ตระหนักถึงขั้นตอนการแก้ปัญหาของหอฮันโนเวอร์ลำดับที่สามนั่นคือในสถานะเริ่มต้นมีสามแผ่นจากบนลงล่างบน A, คือดิสก์ 1, ดิสก์ 2 และดิสก์ 3 ซึ่งดิสก์ 1 นั้นเล็กที่สุด และดิสก์ 3 เป็นจานที่เล็กที่สุดที่ใหญ่ที่สุด
กำหนดจำนวนแผ่นที่เหลืออยู่
รหัสมีดังนี้:
การคัดลอกรหัสมีดังนี้:
ชั้นเรียนสาธารณะ Hanoitower {
โมฆะคงที่สาธารณะย้าย (ระดับ int, ถ่านจาก, ถ่านอินเตอร์, ถ่านถึง) {
ถ้า (ระดับ == 1) {// ถ้ามีเพียงแผ่นเดียวให้ออกจากการวนซ้ำ
System.out.println ("จาก" + จาก + "ย้ายแผ่นหมายเลข 1 ถึง" + ถึง);
} else {// ถ้ามีมากกว่าหนึ่งแผ่นให้ทำซ้ำต่อไป
ย้าย (ระดับ - 1, จาก, ไป, อินเตอร์);
System.out.println ("จาก" + จาก + "ย้ายป้าย" + ระดับ + "ไปที่" + ถึง);
ย้าย (ระดับ - 1, อินเตอร์, จาก, ถึง);
-
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
int ndisks = 3; // ตั้งค่า Hannover Tower เป็นลำดับที่ 3
Movingish (ndisks, 'a', 'b', 'c'); // ใช้อัลกอริทึมการเคลื่อนที่
-
-