A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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循环的有什么不同

9 个回复

倒序浏览
就是   用三元运算符加上  递归 , 相当于 for循环实现的  加递归
回复 使用道具 举报 1 0
这是递归,网上有很多递归的资料。for循环是过程语句。
回复 使用道具 举报
飘过的云 发表于 2015-5-22 22:16
就是   用三元运算符加上  递归 , 相当于 for循环实现的  加递归

是递归啊 还没学到...
回复 使用道具 举报
看出来是个嵌套的迭代了,是一个三元运算符,标准属于叫递归啊 ,学习了。
回复 使用道具 举报
递归吗?
回复 使用道具 举报
递归算法。
回复 使用道具 举报
三元运算法,也叫三目运算法,和for差不多
回复 使用道具 举报
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);
回复 使用道具 举报
就是函数自己调用自己...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马