码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-08-24 13:42:14      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:判断   return   结束   题目   递归   public   amp   pre   除法   

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

【思路】由于题目好多运算符不能用,我们只有想到使用递归的方法,但是递归一般要判断递归结束条件,但题目又不让使用if语句,因此我们可以使用&&运算符,也就是这句话:res && (res+=Sum_Solution(n-1)),也就是res为零时,与运算符的右边将不执行,因此递归结束,返回最后的res即可得到总和,非常棒的思路!

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

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

标签:判断   return   结束   题目   递归   public   amp   pre   除法   

原文地址:https://www.cnblogs.com/zhudingtop/p/11404101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!