求 1+2+…+n1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。
(即本题不能用常规思路,可以用函数的递归,这样就可以避免使用循环,然后可以利用&&运算符,如果第一个条件为true,则继续执行,否则往下执行,有判断作用,可以充当if。
数据范围
1≤n≤1000。
样例
#include<iostream>
using namespace std;
int getSum(int n) {
int res=n;
res>0&&(res=res+getSum(n-1));
return res;
}
int main()
{
int n;
cin>>n;
cout<<getSum(n);
}
输入:10
输出:55