s=1+1/1+2+1/1+2+3+1/1+2+3……+n
时间: 2023-11-18 12:06:12 浏览: 191
以下是使用for循环实现计算s=1 + 1/(1+2) + 1/(1+2+3) + …… + 1/(1+2+3+……+n)的代码:
```python
n = int(input("请输入n的值:"))
sum = 0
for i in range(1, n+1):
s = 0
for j in range(1, i+1):
s += j
sum += 1/s
print("s的值为:", sum)
```
以下是使用递归的方法求1+2+3+……+N的值的代码:
```python
def sum(n):
if n == 1:
return 1
else:
return n + sum(n-1)
n = int(input("请输入N的值:"))
print("1+2+3+...+N的值为:", sum(n))
```
相关问题
自定义一个函数求1+1/2+1/3+……+1/n,编写程序,在主函数中求s=s1+s2+s3的值,其中: s1=1+1/2+1/3+……+1/5 s2=1+1/2+1/3+……+1/10 s3=1+1/2+1/3+……+1/20
这道题目需要自定义一个函数来求1+1/2+1/3+……+1/n的和,然后在主函数中分别计算s1、s2、s3的值。下面是一个可能的解法:
```
#include <stdio.h>
// 自定义函数,用于求1+1/2+1/3+……+1/n的和
float sum(int n){
float s = 0;
for(int i=1; i<=n; i++){
s += 1.0/i;
}
return s;
}
int main(){
float s1, s2, s3;
s1 = sum(5);
s2 = sum(10);
s3 = sum(20);
printf("s1=%f\ns2=%f\ns3=%f\n", s1, s2, s3);
return 0;
}
```
在这个程序中,我们定义了一个名为sum的函数,用于求1+1/2+1/3+……+1/n的和。在主函数中,我们分别调用sum函数来计算s1、s2、s3的值,并将结果打印出来。
给定一个 yy,求使 s=1+1/2+1/3+……+1/ns=1+1/2+1/3+……+1/n 的值大于 yy 的最小的 nn 值。0<y<150<y<15
这个问题可以使用循环来解决,具体的思路是从1开始循环,每次循环将当前的分数加到总和中,直到总和大于yy为止。代码如下:
```
#include <stdio.h>
int main() {
double yy;
scanf("%lf", &yy);
double sum = 0;
int n = 1;
while (sum <= yy) {
sum += 1.0 / n;
n++;
}
printf("%d\n", n - 1);
return 0;
}
```
输入一个yy,然后使用while循环计算s的值,直到s大于yy为止,最后输出n-1即为所求的最小的n值。
阅读全文
相关推荐














