递归就是调用上一步的结果,来产生下一步的结果,一般上一步的结果是由函数得到,所以下一步直接调用函数,参数不一样而已:阶乘算法:public int JieCheng(int n){ return n*JieCheng(n-1);} 当然还必要一些条件判断吗,就是终止递归调用的,jiecheng为n=1 时 就return 1;...
java递归算法的例子?
十进制整数转二进制字符串的递归写法:
public String dtob(int n) {
if (n == 0 || n == 1) {
return Integer.toString(n);
} else {
return dtob(n / 2) + Integer.toString(n % 2);
}
}2012-05-05
简单理解一下:
递归就是调用上一步的结果,来产生下一步的结果,一般上一步的结果是由函数得到,所以下一步直接调用函数,参数不一样而已:
阶乘算法:
public int JieCheng(int n){
return n*JieCheng(n-1);
}
当然还必要一些条件判断吗,就是终止递归调用的,jiecheng为n=1 时 就return 1;2012-05-05
n!=n*(n-1)*(n-2)*......*2*1等同于n!=n*(n-1)! 其中n!与(n-1)!
相当于F(n)=n * F(n-1);所以F(n)方法如下:
public int F(int n){
if(n == 0){
return 1;
}
return n * F(n - 1);
}2012-05-05
最经典的例子就是阶乘了 看看楼上几位的阶乘例子2012-05-06