题目链接
剑指 Offer 64. 求1+2+…+n、![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8c1ea1379d5b42839728fabadfcbd0fb.png)
解题思路分析
题目不难,但加上了额外的要求
因此给题目增加了难度,进行分析我们能使用的只有加减法
所以我们考虑直接使用数学公式进行求解
Sn = (a1 + an)(n)/2
其次,我们还可以考虑使用递归和三目运算符来对该问题进行求解
解题代码
思路1
class Solution {
public:
int sumNums(int n) {
return (1 + n) * n / 2;
}
};
思路2
class Solution {
public:
int sumNums(int n) {
return n == 0 ? 0 : n + sumNums(n-1);
}
};