分享

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

 小样样样样样样 2022-10-14 发布于北京

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


解题思路

需要利用逻辑与的短路特性来实现递归的终止,当 n == 0 时,(n > 0) && ((sum += Sum_Solution(n - 1)) > 0) 只执行前面的判断,为 false,然后直接返回 0;当 n > 0 时,执行 sum += Sum_Solution(n - 1),实现递归计算 Sum_Solution(n)

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多