在Java程序设计中,有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…,求出这个序列的前 20项之和。用简易的方法
时间: 2024-10-15 19:28:32 浏览: 24
这个分数序列实际上是一个著名的数学问题,被称为斐波那契数列(Fibonacci sequence)除以它自身位置的序列。斐波那契数列的特点是每个数都是前两个数的和,即 F(n) = F(n-1) + F(n-2),初始两项通常是 0 和 1。
对于给定的问题,我们需要先计算斐波那契数列的前20项,然后将它们除以对应的序号并求和。这里提供一种简便的方法:
1. 初始化两个变量 `a` 和 `b` 分别表示当前斐波那契数列的值,初始化为 0 和 1。
2. 创建一个列表 `fractions` 来存储分数。
3. 遍历20次(从第0项到第19项),依次更新 `a` 和 `b` 的值,并计算分数 `a/b`,添加到 `fractions` 列表中。
4. 计算列表中所有分数的和。
以下是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int n = 20;
double a = 0, b = 1;
List<Double> fractions = new ArrayList<>();
for (int i = 0; i < n; i++) {
double fraction = a / (double) i;
fractions.add(fraction);
// 更新斐波那契数列
double temp = a;
a += b;
b = temp;
}
double sum = fractions.stream().mapToDouble(Double::doubleValue).sum();
System.out.println("前20项分数之和为: " + sum);
}
}
```
运行这段代码,你会得到分数序列的前20项之和。
阅读全文