C/C++ 剑指offer 利用运算符短路来求解1+…+n不能使用循环等结构
核心思想:利用运算符短路,当n<=0时,右边不会参与运算!
关键代码如下:
n > 0 && (sum += add(n - 1));//利用运算符短路,当n<=0时,右边不会参与运算!
代码如下:
#include<iostream>
using namespace std;
int add(int n)
{
int sum = n;
n > 0 && (sum += add(n - 1));//利用运算符短路,当n<=0时,右边不会参与运算!
return sum;
}
int main()
{
int n,sum;
sum = 0;
cin>>n;
sum = add(n);
cout<<sum<<endl;
return 0;
}
点个👍吧,秋梨膏!!