✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📚专栏地址:剑指offer系列题解
📝原题地址:题目地址
📣专栏定位:为找工作的小伙伴整理常考算法题解,祝大家都能成功上岸!
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
题目描述
求 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
:
class Solution {
public:
int getSum(int n) {
if (!n) return 0;
return n + getSum(n - 1);
}
};
欢迎大家在评论区交流~