public class 递归的概念 {
//函数自己调用自己 空间复杂度较高
static void 递归() {
递归();
}
//求第n项斐波那契额数列的值
static int fabnaci(int n) {
if(n==0) return 0;
if(n==1) return 1;
return fabnaci(n-1)+fabnaci(n-2);
}
//阶乘
static int jiecheng(int n) {
if(n==0) return 0;
if(n==1) return 1;
return n*jiecheng(n-1);
}
//汉诺塔
static void 汉诺塔(int n,String source,String temp,String aim){
if(n==1) {
System.out.println("把第" + n + "个盘子从" + source + "移动到" + aim );
}else {
汉诺塔(n-1,source,aim,temp);
System.out.println("把第" + n + "个盘子从" + source + "移动到" + aim );
汉诺塔(n-1,temp,source,aim);
}
}
public static void main(String[] args) {
//递归();
System.out.println(fabnaci(4));
System.out.println(jiecheng(5));
汉诺塔(5,"A","B","C");
}
}