美文网首页
<剑指Offer>面试题64: 求 1+2+...+n

<剑指Offer>面试题64: 求 1+2+...+n

作者: cb_guo | 来源:发表于2019-02-26 21:15 被阅读0次

    题目描述

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

    题目解读

    • 剑指Offer 307
    • 1、需利用逻辑与的短路特性实现递归终止
    • 2、当 result == 0时,result && (result += Sum_Solution(n-1));只执行前面的判断,为 false,直接返回 0
    • 3、当 result != 0时,result && (result += Sum_Solution(n-1));通过前面的判断,为 true,则执行 (result += Sum_Solution(n-1)) 进入递归函数计算

    代码

    class Solution {
    public:
        int Sum_Solution(int n) {
            int result = n;
            result && (result += Sum_Solution(n-1));
            return result;
        }
    };
    

    总结展望

    相关文章

      网友评论

          本文标题:<剑指Offer>面试题64: 求 1+2+...+n

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