题目1506:求1+2+3+...+n
思路:
&&的短路特性:A&&B中,假如A为假,那么B就不会被运算。
因此我们只要将 递归放在B中,而将终止条件放在A中即可解决该问题。
代码:
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
typedef long long int LL;
LL add(LL a,LL &sum)
{
a&&add(a-1,sum);
return sum+=a;
}
int main()
{
LL n;
while(~scanf("%lld",&n))
{
LL ans=0;
add(n,ans);
printf("%lld\n",ans);
}
return 0;
}