码迷,mamicode.com
首页 > 编程语言 > 详细

递归算法

时间:2015-05-25 00:47:13      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

递归算法就是方法不断的去调用本身,直到满足某个条件

递归会把一个大问题分解成小问题,一点点的去计算

如题1:求1-100的和

public class Demo {
    public static void main(String args[]) {
        System.out.println(add(100));
    }
    public static int add(int num) {
        if (num ==1) {
            return 1;
        } else {
            return num + add(num - 1);
        }
    }
}

主方法首先会去执行add(100),返回100+ add(99),add(99)会返回 99+add(98),以此类推,最后把返回值加在一起就是5050

题二:黄金分割法(1,1,2,3,5,8,13~~~),求第n个数字的值是?

public class Demo {
    public static void main(String args[]) {
        System.out.print(sum(5));
    }

    public static int sum(int fn) {
        if (fn == 1 || fn == 2) {
            return 1;
        } else {
            return sum(fn - 1) + sum(fn - 2);
        }
    }
}

 

递归算法

标签:

原文地址:http://www.cnblogs.com/sflik/p/4526827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!