mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-25 13:34:54 +08:00
Change project structure to a Maven Java project + Refactor (#2816)
This commit is contained in:

committed by
GitHub

parent
8e533d2617
commit
9fb3364ccc
27
src/main/java/com/thealgorithms/others/TowerOfHanoi.java
Normal file
27
src/main/java/com/thealgorithms/others/TowerOfHanoi.java
Normal file
@ -0,0 +1,27 @@
|
||||
package com.thealgorithms.others;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
class TowerOfHanoi {
|
||||
|
||||
public static void shift(int n, String startPole, String intermediatePole, String endPole) {
|
||||
// if n becomes zero the program returns thus ending the loop.
|
||||
if (n != 0) {
|
||||
// Shift function is called in recursion for swapping the n-1 disc from the startPole to the
|
||||
// intermediatePole
|
||||
shift(n - 1, startPole, endPole, intermediatePole);
|
||||
System.out.format("Move %d from %s to %s\n", n, startPole, endPole); // Result Printing
|
||||
// Shift function is called in recursion for swapping the n-1 disc from the intermediatePole
|
||||
// to the endPole
|
||||
shift(n - 1, intermediatePole, startPole, endPole);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.print("Enter number of discs on Pole 1: ");
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
int numberOfDiscs = scanner.nextInt(); // input of number of discs on pole 1
|
||||
shift(numberOfDiscs, "Pole1", "Pole2", "Pole3"); // Shift function called
|
||||
scanner.close();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user