相传在古印度Bramah庙中,有位僧人整天把三根柱子上的金盘倒来倒去,原来他是想把64个一个比一个小的金盘从一根柱子上移到另一根柱子上去。
移动过程中遵守以下规则:每次只允许移动一只盘,且大盘不得落在小盘上
(简单吗?若每秒移动一只盘子,需5800亿年)
1 import java.math.BigInteger; 2 import java.util.Arrays; 3 import java.util.Scanner; 4 5 6 public class Main { 7 public static void main(String[] args) { 8 f(3,'A','B','C'); 9 } 10 public static void f(int i,char a,char b, char c){ 11 if(i==1){ 12 System.out.println("把第"+i+"个盘子从"+a+"移动到"+c); 13 return ; 14 } 15 f(i-1,a,c,b); 16 System.out.println("把第"+i+"个盘子从"+a+"移动到"+c); 17 f(i-1,b,a,c); 18 } 19 }