1+2+3...+n,使用递归算法涉及与运算符,不使用乘除,循环,分支,三目运算
时间: 2024-01-06 07:06:13 浏览: 59
用递归求1+2+3+...+n的程序
好的,那么我们可以使用逻辑运算符 `&&` 来实现递归求和,代码如下:
```
int sum(int n) {
int ans = n;
n > 0 && (ans += sum(n - 1));
return ans;
}
```
这个方法的思路是在递归函数中,先判断 n 是否大于 0,如果是,就继续递归求解 n-1 的和,并将结果加到当前的 ans 中,最终返回 ans。当 n 小于等于 0 时,由于 `&&` 运算符的短路特性,后面的递归调用就不会执行,直接返回 ans,递归结束。
阅读全文