递归
以编程的角度来看,程序调用自身的编程技巧称为递归( recursion)
例1 阶乘函数 (简单的递归)
阶乘函数可递归地定义为:
阶乘函数
public static Recursion{
public static void main(String[]args){
f(10);
}
public static int f(int n){
if(n==1)
return 1;
return n*f(n-1);
}
}
经典问题:汉诺塔
public static void f4(int n,char x,char y,char z) //将n快圆盘,通过z,从x移动到y
{
if(n==1)
{
System.out.println("将第"+n+"块圆盘从"+x+"移动到"+y);
}else{
f4(n-1,x,z,y);
System.out.println("将第"+n+"块圆盘从"+x+"移动到"+y);
f4(n-1,z,y,x);
}
}
}