编写递归函数求1+2+3+4+…+n的值
时间: 2023-12-25 17:30:08 浏览: 44
以下是一个使用递归函数求1+2+3+4+...+n的值的C代码示例:
```c
#include <stdio.h>
int sum_of_n(int n) {
if (n == 1) {
return 1;
}
return n + sum_of_n(n - 1);
}
int main() {
int n = 0;
scanf("%d", &n);
int sum = sum_of_n(n);
printf("%d\n", sum);
return 0;
}
```
这段代码定义了一个名为`sum_of_n`的递归函数,它接受一个整数参数n,并返回1到n的和。在`main`函数中,我们首先从用户输入中读取一个整数n,然后调用`sum_of_n`函数计算1到n的和,并将结果打印出来。
相关问题
编写递归函数,求1+2+3+……+n的值
可以使用递归函数来解决这个问题,递归函数的思想是将一个大问题拆分成若干个小问题,直到问题变得足够小,然后再逐步解决这些小问题,最终得到大问题的解。
下面是求1+2+3+……+n的递归函数:
```python
def sum_recursive(n):
if n == 1:
return 1
else:
return n + sum_recursive(n-1)
```
在这个递归函数中,我们首先判断n是否等于1,如果是,则直接返回1,否则,我们将问题拆分成n和n-1的和,然后递归调用函数sum_recursive(n-1),直到n等于1为止,然后将所有的结果相加,最终得到1+2+3+……+n的值。
可以使用以下代码来测试这个递归函数:
```python
n = 10
print("1+2+3+...+{} = {}".format(n, sum_recursive(n)))
```
输出结果为:
```
1+2+3+...+10 = 55
```
c语言编写一个递归函数求1+2+3+…+n
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
int s = sum(n);
printf("1+2+3+...+%d=%d\n", n, s);
return 0;
}
```
递归函数 `sum()` 的实现是求 $1+2+3+...+n$ 的关键。如果 `n` 等于 1,那么返回 1,否则返回 `n` 加上 `sum(n-1)`。在 `main()` 函数中,先读入 `n`,然后调用 `sum()` 函数计算 1 到 `n` 的和,并输出结果。