49.求1+2+3+.......+n

题目描述:

  求1+2+3+...+n的值,要求不能使用乘除法,还有,if,while,for等关键字。

思路分析:

  使用递归的解法,但是递归的终止条件需要使用if关键字不符合要求,所以我们利用逻辑与的中断机制,来描述递归终止条件。

  当n==0时,n>0不满足所以不会执行后面的递归操作。

  当n>0时,我们就会执行后面的递归操作。

代码:

public class Test{
    public int sum(int n){
        int res=n;
        boolean flag=(n>0)&&((res=res+sum(n-1))>0);
        return res;
    }
}

posted @ 2019-05-28 10:00  yjxyy  阅读(179)  评论(0编辑  收藏  举报