125k views
5 votes
Consider the following variant of the towers of Hanoi problem. There

* are 2n discs of increasing size stored on three poles. Initially all
* of the discs with odd size (1, 3, ..., 2n-1) are piled on the left
* pole from top to bottom in increasing order of size; all of the discs
* with even size (2, 4, ..., 2n) are piled on the right pole. Write a
* program to provide instructions for moving the odd discs to the right
* pole and the even discs to the left pole, obeying the same rules as
* for towers of Hanoi

1 Answer

3 votes

Answer:

The code is given which gives the output to instruct the movement of the discs.

Step-by-step explanation:

The code is given as below in java

import java.util.Scanner;

public class TowersOfHanoi {

// print out instructions for moving n discs to

// the left (if left is true) or right (if left is false)

public static void moves(int n, boolean left) {

if (n == 0) return;

moves(n-1, !left);

if (left){

System.out.println(n + " move to left");

}

else{

System.out.println(n + " move to right");

}

moves(n-1, !left);

}

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.print("Enter Number of Discs: ");

int n = sc.nextInt();

moves(n, true);

}

}

User Chickenchilli
by
5.0k points