Tower Of Hanoi with Recursion Using JAVA
The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower, and sometimes pluralized) is a mathematical game or puzzle.It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape.
The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules:
- Only one disk can be moved at a time.
- Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack i.e. a disk can only be moved if it is the uppermost disk on a stack.
- No disk may be placed on top of a smaller disk.
With three disks, the puzzle can be solved in seven moves. The minimum number of moves required to solve a Tower of Hanoi puzzle is 2n - 1, where n is the number of disks.
More Details About Tower Of Hanoi: Click Here
Program Using JAVA:
import java.util.*;
public class HanoiTower{
public static void doTower(int disk,char from,char mid,char end){
if(disk==1){
System.out.println("Disk 1 from "+from+" To "+end);
}else{
doTower(disk-1,from,end,mid);
System.out.println("Disk "+disk+" From "+from+" To "+end);
doTower(disk-1,mid,from,end);
}
}
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int disk;
System.out.print("Enter No Of Disk:");
disk=Integer.parseInt(input.nextLine());
if(disk<=0){
System.out.println("Invalid Disk SIze");
}else{
doTower(disk,'A','B','C');
}
}
}
No comments:
Post a Comment