From 13c223a899331ff8187481e439927b74a8236026 Mon Sep 17 00:00:00 2001 From: madHEYsiaOYO <39955184+madHEYsiaOYO@users.noreply.github.com> Date: Sat, 13 Oct 2018 09:57:07 +0530 Subject: [PATCH 1/2] Create TOHusing4Rods.java --- TOHusing4Rods.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 TOHusing4Rods.java diff --git a/TOHusing4Rods.java b/TOHusing4Rods.java new file mode 100644 index 0000000..f63a090 --- /dev/null +++ b/TOHusing4Rods.java @@ -0,0 +1,45 @@ +// Recursive class for solving Tower of Hanoi problem using 4 rods + +public class recursiveTOH { + + // *********************************** MAIN CLASS ******************************************** + public static void main(String args[]){ + int n = 4; // Number of disks + + // A, B, C and D are names of rods + towerOfHanoi(n, 'A', 'D', 'B', 'C'); + } + + // ********************************* TOWER OF HANOI ****************************************** + static void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod1, char aux_rod2){ + + if (n == 0) return; + + if (n == 1){ + System.out.println("Move disk " + n + " from rod " + from_rod + " to rod " + to_rod); + return; + } + + towerOfHanoi(n - 2, from_rod, aux_rod1, aux_rod2, to_rod); + System.out.println("Move disk " + (n - 1) + " from rod " + from_rod + " to rod " + aux_rod2); + System.out.println("Move disk " + n + " from rod " + from_rod + " to rod " + to_rod); + System.out.println("Move disk " + (n - 1) + " from rod " + aux_rod2 + " to rod " + to_rod); + towerOfHanoi(n - 2, aux_rod1, to_rod, from_rod, aux_rod2); + + } + + // ************************************ OUTPUT ********************************************* + + // Move disk 1 from rod A to rod D + // Move disk 2 from rod A to rod B + // Move disk 1 from rod D to rod B + // Move disk 3 from rod A to rod C + // Move disk 4 from rod A to rod D + // Move disk 3 from rod C to rod D + // Move disk 1 from rod B to rod C + // Move disk 2 from rod B to rod D + // Move disk 1 from rod C to rod D + + // Time Complexity: O(2^(N/2)) + +} From 710e2e896b9f144eb3d01bc4d50b015fe5c84574 Mon Sep 17 00:00:00 2001 From: madHEYsiaOYO <39955184+madHEYsiaOYO@users.noreply.github.com> Date: Sat, 13 Oct 2018 11:25:15 +0530 Subject: [PATCH 2/2] Update TOHusing4Rods.java --- TOHusing4Rods.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOHusing4Rods.java b/TOHusing4Rods.java index f63a090..355e81f 100644 --- a/TOHusing4Rods.java +++ b/TOHusing4Rods.java @@ -1,6 +1,6 @@ // Recursive class for solving Tower of Hanoi problem using 4 rods -public class recursiveTOH { +public class TOHusing4Rods { // *********************************** MAIN CLASS ******************************************** public static void main(String args[]){