题解 | #求1+2+3+...+n#

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

https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1

题目

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

描述

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

数据范围: 0<n≤200

进阶: 空间复杂度 O(1) ,时间复杂度 O(n)

重点知识点

递归和return 语句执行条件判断

递归使用

函数自己调用自己,但条件改变,趋近于结束

条件判断

倒数第二次递归时,返回0,最后一次递归时,&&左边的n=0,则整个语句为假,不会再执行判断后面的条件

代码

#include <iostream>

class Solution {
public:
    int Sum_Solution(int n) {
        //数学解决方法
        //return n*(n+1)/2;

        //递归解决
        n&&(n+=Sum_Solution(n-1));  //n=0时为假,右边就不会进入递归了。
        return n;
    }
};
#刷题#
刷题 - 解题 文章被收录于专栏

记录遇到的题目,解题思路和相关知识点

全部评论

相关推荐

迷茫的大四🐶:现在是幻想时间查看图片
双非本科的出路是什么?
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务