它是由法国数学家爱德华·卢卡斯于1883年发明的。给定一个由8个圆盘组成的塔,这些圆盘按照大小递减的方式套在三根桩柱中的一根上。目的是要将整个塔移动到另一根桩柱上,每次只能移动一个圆盘,且较大的圆盘在移动过程中不能放置在较小的圆盘上面。
卢卡斯给这个玩具赋予了一个罗曼蒂克的传说,说的是一个大得多的婆罗贺摩塔(Tower of Brahma),它由64个纯金的圆盘堆放在三座钻石做成的方尖塔上。他说,上帝一开始把这些金圆盘放到了第一座方尖塔上,并命令一组牧师按照上面的规则把他们移动到第三座方尖塔上,据说牧师们夜以继日地工作,当他们完成任务时,那座塔就将坍塌,世界也将毁灭。
我想你也肯定发现了这道题的规律:2²-1
//64圆盘
import java.math.BigDecimal;
public static void main(String[] args){
BigDecimal bd=BigDecimal.ONE.add(BigDecimal.ONE);
System.out.println(bd.pow(64).subtract(BigDecimal.ONE));
}
// 详细步骤
// public class 河内塔{
// static int count=0;
// public static void main(String[] args){
// fun(64,'A','B','C');
// System.out.println(count);
// }
// public static void fun(int n,char a,char b,char c){
// if(n==1){
// count++;
// System.out.println(a+"->"+c);
// return;
// }
// fun(n-1,a,c,b);
// count++;
// System.out.println(a+"->"+c);
// fun(n-1,b,a,c);
// }
// }