- import java.util.Scanner;
- /*堆疊
- 1
- 2
- n-2
- n-1
- 第n大盤子
- */
- public class Hanoi {//遞迴+堆疊
- static int n = 3;
- static void hanoi(int n , int po1 , int po2 , int po3){//n個盤子
- if(n == 1){//點端
- System.out.println(n+"盤子從"+po1+" 至 "+po3);
- }
- else{
- hanoi( n-1 , po1 , po3 , po2);//n-1個盤子從木樁1 至 2
- System.out.println(n+"盤子從"+po1+" 至 "+po3);//第n最大盤子1至3
- hanoi( n-1 , po2 , po1 , po3);//n-1個盤子從木樁1 至 2
- }
- }
- public static void main(String[] args){
- Scanner sc = new Scanner(System.in) ;
- System.out.println("輸入盤子數 (N)");
- hanoi(n, 1 , 2 , 3);
- }
- }
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。