算法思路:
递归算法,就是一种直接或者间接地调用自身的算法.递归算法的具体实现过程一般通过函数或者子过程来完成,在函数或子过程的内部,编写代码直接或者间接地调用自己,即可完成递归操作.
这里列举出求阶乘和数制转换的递归操作实例.
?
?实例1:求阶乘
?
?
public static int jiecheng(int i) { if(i!=1){ return i*jiecheng(i-1); } return 1; }
public static void main(String[] args) { System.out.println(jiecheng(8)); }
?运行结果
?
?实例2:数制(进制)转换
?
?Java语言描述:
class DecimalToBinary{ public long convert(long decimal){ if(decimal >= 2){ return this.convert(decimal/2)*10+decimal%2; }else{ return decimal; } } } public class Test { public static void main(String[] args) { DecimalToBinary toBinary = new DecimalToBinary(); System.out.println("5d convert to binary is:\t"+toBinary.convert(5)+"b"); } }
?运行结果:
?
原文:http://bbllmyd.iteye.com/blog/2302041