编程,请用递归函数,求1+2+3+...+n,n由键盘输入。(递归式:sum(n)=sum(n-1)+n)
时间: 2024-05-08 08:21:06 浏览: 12
好的,以下是用递归函数求1到n的和的代码:
```python
def sum(n):
if n <= 1:
return n
else:
return n + sum(n-1)
n = int(input("请输入一个正整数n: "))
print("1到{}的和为:{}".format(n, sum(n)))
```
首先定义了一个名为`sum`的递归函数,接收一个整数n作为参数,如果n小于等于1,则返回n本身,否则返回n加上`sum(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作为参数,如果n为1,则直接返回1,否则返回n加上n-1到1的所有整数的和。可以通过递归调用这个函数来实现。
例如,如果您想求解1+2+3+...+10的和,可以这样调用函数:
```python
print(sum_recursive(10))
```
这将输出55,即1+2+3+...+10的和。
用C语言解决编程,请用递归函数,求1+2+3+...+n,n由键盘输入。(递归式:sum(n)=sum(n-1)+n)
好的,下面是实现代码:
```c
#include <stdio.h>
int sum(int n);
int main() {
int n, result;
printf("请输入一个正整数n:");
scanf("%d", &n);
result = sum(n);
printf("1到%d的和为:%d\n", n, result);
return 0;
}
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n-1);
}
}
```
程序中定义了一个 `sum` 函数,当 `n` 等于 1 时,返回 1;否则返回 `n` 加上 `sum(n-1)`。在 `main` 函数中,先让用户输入一个正整数 `n`,然后把 `n` 传给 `sum` 函数,最后输出计算结果。