【2错-2】求1+2+3+...+n

https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
| 日期 | 是否一次通过 | comment |
|----|----|----|
|2019-01-26 13:20|N|不能用if则意味着需要考虑递归的终止条件如何触发:&&是个好方法|
|2019-01-27 13:20|N||

题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

值得注意的是:

  1. java的赋值语句会返回所赋的值。
  2. java不会自动将int 型非0变量转为boolean的true/false.

1. 递归

public class Solution {
    public int Sum_Solution(int n) {
        int tempSum = n;
        boolean flag = (n>0) && ((tempSum += Sum_Solution(n-1))>0);
       
        return tempSum;
    }
}

你可能感兴趣的:(【2错-2】求1+2+3+...+n)