用Java编出程序:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13..求出这个数列的前20项之和。
时间: 2023-12-11 20:02:31 浏览: 23
可以使用循环来计算这个数列的前20项之和。具体的实现如下:
```java
public class FractionSequenceSum {
public static void main(String[] args) {
int n = 20; // 前20项
double sum = 0;
int a = 2, b = 1;
for (int i = 1; i <= n; i++) {
sum += (double) a / b;
int tmp = a;
a = a + b;
b = tmp;
}
System.out.println("前" + n + "项之和为:" + sum);
}
}
```
输出结果为:
```
前20项之和为:32.66026079864164
```
因为这个数列是斐波那契数列的一种变形,所以其前n项之和也可以用斐波那契数列的通项公式来计算,即:
$F_{n+2}-1$
其中,$F_n$ 表示斐波那契数列的第n项。
相关问题
用Java写出:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13..求出这个数列的前20项之和。的程序
以下是使用Java语言实现该程序的代码:
```java
public class Main {
public static void main(String[] args) {
int n = 20; // 前20项
double sum = 0; // 总和
double a = 2, b = 1; // 初始化第一项
for (int i = 1; i <= n; i++) {
sum += a / b;
double temp = a + b; // 计算下一项的分子
b = a; // 更新下一项的分母
a = temp; // 更新下一项的分子
}
System.out.printf("前%d项之和为%.4f", n, sum);
}
}
```
运行结果:
```
前20项之和为32.6603
```
解释:在循环中,我们不断计算这个数列的每一项,并使用 sum 变量来累加它们。为了计算下一项,我们使用斐波那契数列的规律:下一项的分子是当前项的分子与分母之和,下一项的分母是当前项的分子。最后,我们使用 printf 函数输出结果,保留四位小数。
有一分数序列:2/1,3/2,5/3,8/5,13/8, 21/13..用java编写程序求出这个数列的前20项之和。
可以使用循环来计算数列的前20项,每项的分子和分母可以通过递推公式得到:
分子:num[i] = num[i-1] + num[i-2]
分母:den[i] = den[i-1] + den[i-2]
其中,num[1]=2,num[2]=3,den[1]=1,den[2]=2。
下面是Java代码实现:
```java
public class FibonacciSequence {
public static void main(String[] args) {
double sum = 0;
int[] num = new int[21];
int[] den = new int[21];
num[1] = 2;
num[2] = 3;
den[1] = 1;
den[2] = 2;
for (int i = 3; i <= 20; i++) {
num[i] = num[i-1] + num[i-2];
den[i] = den[i-1] + den[i-2];
}
for (int i = 1; i <= 20; i++) {
sum += (double) num[i] / den[i];
}
System.out.println("这个数列的前20项之和为:" + sum);
}
}
```
输出结果为:
```
这个数列的前20项之和为:32.66026079864164
```