算法 - 递归

递归(recursion):程序调用自身的编程技巧

递归满足2个条件:

1.有反复执行的过程(调用自身)

2.有跳出反复执行过程的条件(递归出口)


 代码实现如下:

 

 1 package com.yunstars.recursion ;
 2 
 3 /**
 4 * Created by zhangshengjian on 2016/6/29.
 5 * 递归算法
 6 */
 7 public class Recursion {
 8 
 9     /**
10      * 递归例子:
11      * (1)阶乘
12      * n != n * (n - 1) * (n - 2) * ... * 1(n>0)
13      */
14     public static int recursive(int i) {
15         int sum = 0;
16         if(i == 0) {
17             return (1) ;
18         } else {
19             sum = i * recursive(i - 1) ;
20         }
21         return sum;
22     }
23 
24 
25     /**
26      * (2)1+2+3+...+100
27      */
28     public static int recursive2(int i) {
29         int sum = 0;
30         if(i == 0) {
31             return (0) ;
32         } else {
33             sum = i + recursive2(i - 1) ;
34         }
35         return sum;
36     }
37 
38     /**
39      * 测试方法
40      */
41     public static void main(String[] arg) {
42         System.out.println( "递归例子:(1)阶乘 ");
43         System. out.println("==================================" );
44         System. out.println("10! = " +recursive(10)) ;
45         System. out.println("==================================" );
46         System. out.println("1+2+3+...+100 = " +recursive2(100)) ;
47         System. out.println("==================================" );
48     }
49 
50 }

 

欢迎各位观众老爷们打赏宝宝,宝宝会继续努力!(扫描支付宝二维码,打赏宝宝,一切皆因为有你的支持!么么哒)

 

posted @ 2016-07-21 09:55  坚持到放弃  阅读(182)  评论(0编辑  收藏  举报