求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
由于题目说要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C),那么最简单的方式就是利用递归进行化求解该问题。
github链接:JZ47-求1+2+3+…+n
#include <iostream>
using namespace std;
class Solution {
public:
int Sum_Solution(int n) {
bool x = n > 1 && (n += this->Sum_Solution(n-1));
return n;
}
};
int main()
{
int n;
Solution s;
while(cin>>n){
cout<<s.Sum_Solution(n);
}
return 0;
}