剑指offer--求1+2+3+...+n,要求不能使用乘除法、while、for、if 、else、switch、case等关键字

题目描述

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

思路

递归求解

C++代码:

class Solution {
public:
    int Sum_Solution(int n) {
        int sum = 0;
        return add(n,sum);
    }
public: 
    int add(int n,int& sum){
        n && add(n-1,sum);
        return sum+=n;
    }
};

参考文章:
https://blog.csdn.net/qq_35420908/article/details/75096580

点赞