[剑指offer] 求1+2+3+...+n

作者: 繁著 | 来源:发表于2018-08-07 22:28 被阅读0次

    本文首发于我的个人博客:尾尾部落

    题目描述

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

    解题思路

    累加不能用循环的话,那就试试递归吧。
    判断递归的终止条件不能用 if 和 switch,那就用短路与代替。
    (n > 0) && (sum += Sum_Solution(n-1))>0
    只有满足n > 0的条件,&&后面的表达式才会执行。

    参考代码

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

    相关文章

      网友评论

        本文标题:[剑指offer] 求1+2+3+...+n

        本文链接:https://www.haomeiwen.com/subject/aoezvftx.html