递归算法

阅读更多

算法思路:

递归算法,就是一种直接或者间接地调用自身的算法.递归算法的具体实现过程一般通过函数或者子过程来完成,在函数或子过程的内部,编写代码直接或者间接地调用自己,即可完成递归操作.

这里列举出求阶乘和数制转换的递归操作实例.

 

 实例1:求阶乘


递归算法_第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:数制(进制)转换


递归算法_第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");
	}
}

 运行结果:


 

  • 递归算法_第3张图片
  • 大小: 46.3 KB
  • 递归算法_第4张图片
  • 大小: 27.3 KB
  • 递归算法_第5张图片
  • 大小: 453 Bytes
  • 递归算法_第6张图片
  • 大小: 1.1 KB
  • 查看图片附件

你可能感兴趣的:(递归算法)