计算=1+1/2+1/3+...+1/n
时间: 2023-11-07 09:06:07 浏览: 60
这是一个计算1到n的倒数之和的问题。可以使用循环来实现。以下是两种不同语言的代码实现:
Java代码实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
int n = sc.nextInt();
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
System.out.println(sum);
}
}
```
C语言代码实现:
```
#include <stdio.h>
int main() {
int n;
double sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("1到%d的倒数之和为:%lf", n, sum);
return 0;
}
```
相关问题
计算s=1+1/2+1/3+...+1/10
根据提供的公式s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n),可以得到计算s=1+1/2+1/3+...+1/10的公式为s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+10)。因此,我们可以调用fun()函数来计算s的值。
```c
#include <stdio.h>
double fun(double n);
int main() {
double n = 10;
double s = fun(n);
printf("s = %f", s); // 输出:s = 2.928968
return 0;
}
double fun(double n) {
double s = 0;
double a = 0;
for (int i = 1; i <= n; i++) {
a += i;
s += 1 / a;
}
return s + 1;
}
```
python编写程序计算sn=1+1/2+1/3....+1/n
以下是两种Python编写程序计算sn=1+1/2+1/3....+1/n的方法:
方法一:使用循环累加
```python
def calc_sn(n):
s = 0
for i in range(1, n+1):
s += 1/i
return s
if __name__ == '__main__':
n = int(input("请输入n的值:"))
sn = calc_sn(n)
print("sn的值为:", sn)
```
方法二:使用递归
```python
def calc_sn(n):
if n == 1:
return 1
else:
return 1/n + calc_sn(n-1)
if __name__ == '__main__':
n = int(input("请输入n的值:"))
sn = calc_sn(n)
print("sn的值为:", sn)
```