黑马程序员技术交流社区

标题: 这是什么算法 和for循环的有什么不同 [打印本页]

作者: a397131103    时间: 2015-5-22 22:11
标题: 这是什么算法 和for循环的有什么不同
本帖最后由 a397131103 于 2015-5-23 21:11 编辑

public static void main(String[] args) {
        System.out.println(getSum(100));
     }      
public static int getSum(int num) {
        return num == 1 ? 1 : num + getSum(num - 1);
    }
结果是1+2+3+....+100的和:5050
这是什么算法  和for循环的有什么不同


作者: 飘过的云    时间: 2015-5-22 22:16
就是   用三元运算符加上  递归 , 相当于 for循环实现的  加递归
作者: pvbj0314    时间: 2015-5-22 22:18
这是递归,网上有很多递归的资料。for循环是过程语句。
作者: a397131103    时间: 2015-5-23 21:12
飘过的云 发表于 2015-5-22 22:16
就是   用三元运算符加上  递归 , 相当于 for循环实现的  加递归

是递归啊 还没学到...
作者: 黄冬    时间: 2015-5-23 21:22
看出来是个嵌套的迭代了,是一个三元运算符,标准属于叫递归啊 ,学习了。
作者: niuapp    时间: 2015-5-23 21:40
递归吗?
作者: 914360849    时间: 2015-5-23 21:45
递归算法。
作者: 我心去飞翔    时间: 2015-5-23 22:23
三元运算法,也叫三目运算法,和for差不多
作者: 飘过的云    时间: 2015-5-24 11:07
a397131103 发表于 2015-5-23 21:12
是递归啊 还没学到...

其实 看看 找到规律 还是可以的  
递归思想:是逆向的
比如求 1+2+3;
正常 是  :sum=sum+1;
              sum=sum+2;
              sum=sum+3;
递归是:
            我要 1+2+3的和:
、                  3+sum(2);
                      2+sum(1);
作者: hieiyukina    时间: 2015-5-24 12:52
就是函数自己调用自己...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2