使用递归函数计算1到n
时间: 2024-05-10 14:17:17 浏览: 10
可以使用递归函数来计算1到n的和,具体实现如下:
```python
def sum_recursive(n):
if n == 1:
return 1
else:
return n + sum_recursive(n-1)
```
这个函数的基本思路是:如果n等于1,那么返回1;否则,返回n与小于n的所有数字的和。在函数的第二个分支中,我们调用了自己,但是传入的参数是n-1,直到n等于1为止,这样就实现了递归。举个例子,如果我们调用sum_recursive(5),则会按照以下方式计算:
```
sum_recursive(5)
5 + sum_recursive(4)
5 + (4 + sum_recursive(3))
5 + (4 + (3 + sum_recursive(2)))
5 + (4 + (3 + (2 + sum_recursive(1))))
5 + (4 + (3 + (2 + 1)))
15
```
因此,sum_recursive(5)的结果为15,这个函数可以计算出从1到任意正整数n的和。
相关问题
c使用递归函数计算1到n
下面是一个使用递归函数计算1到n的C程序:
```c
#include <stdio.h>
int sum(int n);
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1到%d的和为:%d\n", n, sum(n));
return 0;
}
int sum(int n) {
if (n == 1) {
return 1;
}
return n + sum(n - 1);
}
```
程序中定义了一个名为`sum`的递归函数,用来计算1到n的和。如果n等于1,则函数返回1;否则函数返回n加上`sum(n - 1)`的结果,也就是n加上1到n-1的和。在`main`函数中,先读入一个正整数n,然后调用`sum`函数计算1到n的和并输出结果。
使用递归函数计算1到n之和
使用递归函数计算1到n之和可以用以下代码实现:
```
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
```
这个函数接受一个整数参数n,返回1到n之和。当n为1时,直接返回1;当n大于1时,返回n加上sum(n-1)的结果。这里sum(n-1)就是递归调用自身,计算1到n-1之和的结果。
例如,如果调用sum(4),函数会先计算sum(3),然后再将3加上4返回,接着计算sum(2),将2加上3+4返回,最后计算sum(1),将1加上2+3+4返回,得到结果10。