递归方法求s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+10)
时间: 2023-12-25 21:05:42 浏览: 14
以下是递归方法求s的代码:
```c++
#include <stdio.h>
#include <stdlib.h>
double fun(int n);
int main(){
double s;
s = fun(10);
printf("s=%lf\n",s);
return 0;
}
double fun(int n){
if(n == 1) return 1.0/1;
else return 1.0/(n*(n+1)) + fun(n-1);
}
```
输出结果为:s=0.828968
相关问题
用递归方法计算s=1+2+3...+n
以下是使用递归方法计算s=1+2+3...+n的Python代码:
```python
def Sum(n):
if n <= 1:
return 1
return Sum(n - 1) + n
n = int(input('请输入一个正整数:'))
print(Sum(n))
```
在这个代码中,我们定义了一个递归函数Sum,它接受一个参数n,表示要计算1到n的和。如果n小于等于1,那么直接返回1;否则,递归调用Sum(n-1),并将结果加上n,最终返回这个结果。在主程序中,我们读入一个正整数n,然后调用Sum(n)计算1到n的和,并将结果打印出来。
用递归方法计算 S=1+2+...+n
好的,可以使用递归方法计算 S=1+2+...+n,具体实现如下(使用 Python 语言):
```python
def sum(n):
if n == 1:
return 1
return n + sum(n-1)
```
这里假设输入的 n 是正整数,如果 n 等于 1,则返回 1;否则,返回 n 加上前 n-1 个数的和,即 sum(n-1)。递归函数会一直调用自己,直到 n 等于 1,则递归结束。