剑指offer 72. 求1+2+…+n

简介: 剑指offer 72. 求1+2+…+n

题目描述

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


数据范围

1≤n≤1000。

样例

输入:10
输出:55


方法一:递归 O(n)


由于题目要求不能用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C) 。所以这道题我们用递归的方法来做,虽然此题代码很短,但为了更直观的理解,我还是用图解形式进行讲解,假设 n = 5


280eb47ebf6b4864aa0362d708b63068.png


class Solution {
public:
    int getSum(int n) {
        if (!n)  return 0;
        return n + getSum(n - 1);
    }
};

欢迎大家在评论区交流~

目录
相关文章
|
6月前
|
机器学习/深度学习 Java
【剑指offer】- 求1+2+3+...+n -47/67
【剑指offer】- 求1+2+3+...+n -47/67
|
6月前
剑指Offer(第二版)05
剑指Offer(第二版)05
27 0
|
6月前
剑指Offer(第二版)04
剑指Offer(第二版)04
20 0
|
6月前
剑指Offer(第二版)11
剑指Offer(第二版)11
33 0
|
6月前
剑指Offer(第二版)06
剑指Offer(第二版)06
29 0
|
6月前
剑指Offer(第二版)03
剑指Offer(第二版)03
27 0
|
6月前
剑指Offer(第二版)10-2
剑指Offer(第二版)10-2
30 0
|
算法 Java
剑指offer(1-10题)详解
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
133 0
剑指offer(1-10题)详解
|
存储 Java
剑指offer(11-25题)详解
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。。
129 0
剑指offer(11-25题)详解
|
Java
剑指offer(34-40题)详解
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)
92 0
剑指offer(34-40题)详解