题目描述
求 1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。
样例
输入:10
输出:55
算法1
看下题目,不能用乘除,循环和判断,那肯定就递归了,能想到递归基本就能做出来
递归至0,再依次往上累加至n
返回值也为n,最后刚好输出
C++ 代码
class Solution {
public:
int getSum(int n) {
if(n) n+=getSum(n-1);
return n;
}
};//这个用了if语句,所以不符合题意
class Solution {
public:
int getSum(int n)
{
n && (n+=getSum(n-1));
return n;
}
};
牛蛙牛蛙
+
不能 if else
哦哦,对,那用与运算符连接起来就好,多谢提醒
已经在原答案下加上正确的代码了