用递归的方法求1+(1+2)+(1+2+3)+...+(1+2+3+…+n)(共n项)
时间: 2023-09-21 18:05:02 浏览: 84
用递归求1+2+3+...+n的程序
要用递归的方法求1 + (1 + 2) + (1 + 2 + 3) + ... + (1 + 2 + 3 + ... + n)(共n项),可以使用以下代码实现该功能:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int m);
int main(){
int n, sum = 0;
printf("Please enter a number:");
scanf("%d",&n);
if(n<=0){
printf("Enter error");
exit(0);
}
sum = fun(n);
printf("sum=%d\n",sum);
return 0;
}
int fun(int m){
if(m==1){
return 1;
}
return (m + fun(m-1));
}
```
以上代码使用了递归的思想,定义了一个名为fun的函数,该函数接受一个整数m作为参数。当m等于1时,函数返回1;否则,函数返回m加上fun(m-1)的值。在主函数中,通过输入一个正整数n,调用fun函数计算出1 + (1 + 2) + (1 + 2 + 3) + ... + (1 + 2 + 3 + ... + n)的值,并将结果输出。
通过运行这段代码,输入一个正整数n,即可得到和为1 + (1 + 2) + (1 + 2 + 3) + ... + (1 + 2 + 3 + ... + n)的结果。
阅读全文