编写函数,求1+(1+2)+(1+2+3)+……+(1+2+3+4+……+n)的和
时间: 2023-09-18 17:10:00 浏览: 113
题目描述:
求1 (1 2) (1 2 3) …… (1 2 3 4 …… n)的和。
思路:
每个括号内的数列都是前一个括号内的数列在末尾加上一个数,因此可以用递归实现。
代码实现:
def sum_of_seq(n):
if n == 1:
return 1
else:
return sum(range(1,n+1)) + sum_of_seq(n-1)
print(sum_of_seq(5)) # 输出 35
相关问题
编写一函数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
```
阅读全文