求1+2+3+4+5……+n
时间: 2023-12-21 22:29:59 浏览: 100
以下是一种不使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句的方法来求1+2+3+...+n的例子:
```java
public class Solution {
public int Sum_Solution(int n) {
int sum = n;
boolean flag = (n > 0) && ((sum += Sum_Solution(n - 1)) > 0);
return sum;
}
}
```
这个方法使用了递归和短路运算符来实现。当n为0时,递归停止,返回0;当n大于0时,flag为true,递归继续,sum加上递归结果;当n小于0时,flag为false,递归停止,返回0。最终返回sum即可。
相关问题
编写一函数cusum()求1+2+3+……+n,再编写主函数求1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+4+5+……+19+20)的和
可以使用循环来实现求1+2+3+……+n的和,代码如下:
```java
public class Main {
public static int cusum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
public static void main(String[] args) {
int totalSum = 0;
for (int i = 1; i <= 20; i++) {
totalSum += cusum(i);
}
System.out.println("结果是:" + totalSum);
}
}
```
在上面的代码中,`cusum()`函数用于求1+2+3+……+n的和,使用循环从1到n累加每个数字。主函数中使用循环从1到20,每次调用`cusum()`函数求1+2+3+……+i的和,并将结果累加到`totalSum`变量中。最后输出`totalSum`的值。
10. JavaScript编写一函数cusum()求1+2+3+……+n,再编写主函数求1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+4+5+……+19+20)的和。
以下是JavaScript编写的求和函数cusum()和主函数的代码:
```javascript
// 求1+2+3+...+n的和
function cusum(n) {
let sum = 0;
for (let i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
// 求1+(1+2)+(1+2+3)+...+(1+2+3+4+5+...+19+20)的和
function main() {
let sum = 0;
for (let i = 1; i <= 20; i++) {
sum += cusum(i);
}
return sum;
}
console.log(main()); // 输出:2870
```
阅读全文