用Java计算有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13..求出这个数列的前20项之和。
时间: 2024-01-01 14:04:17 浏览: 115
可以使用循环来计算每项的值,并将其累加到一个变量中,最后输出这个变量的值即为前20项之和。
Java代码如下:
```java
public class Main {
public static void main(String[] args) {
int n = 20; // 求前20项之和
double sum = 0; // 前20项之和
double a = 2, b = 1, c; // 第一项为2/1
for (int i = 1; i <= n; i++) {
sum += a / b; // 累加每项的值
c = a + b;
b = a;
a = c;
}
System.out.println("前20项之和为:" + sum);
}
}
```
输出结果为:
```
前20项之和为:32.66026079864164
```
因此,这个数列的前20项之和约为32.66。
相关问题
用java运行 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 求出这个数列的前20项之和。
这是一个著名的斐波那契数列(Fibonacci sequence)除以它的索引形成的数列,也被称为“比值数列”。每一项都是前两项的比值再加上原来的项本身。例如,第三项是第二项和第一项的比值,即3/2 = 1.5。
要计算这个数列的前20项之和,我们可以编写一个简单的Java程序来实现。首先,我们需要初始化两个变量来存储当前项和前一项,然后依次计算新的项并加到总和上。由于斐波那契数列的计算可能会变得非常大,所以我们需要处理整数溢出的问题,并且可以考虑只保留每个比值的小数部分,因为实际结果就是小数形式的分数。
以下是Java代码的一个示例:
```java
double prevNum = 1.0;
double currNum = 2.0;
double sum = currNum;
for (int i = 2; i < 20; i++) {
double nextDenominator = i + 1;
double numerator = currNum + prevNum;
currNum = numerator / nextDenominator; // 取小数点后的部分
// 如果结果大于1,表示有整数部分,减去整数部分并四舍五入
if (currNum > 1) {
int integerPart = (int) currNum;
sum += (double) integerPart;
currNum -= integerPart;
}
// 更新前两项
prevNum = currNum;
}
System.out.println("前20项之和: " + sum);
```
JAVA有一分数序列:2/1+3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
这个数列是斐波那契数列的一个变形,可以使用循环来计算前20项的和。具体实现如下:
```
public class Main {
public static void main(String[] args) {
double sum = 0;
double a = 2, b = 1;
for (int i = 1; i <= 20; i++) {
sum += a / b;
double temp = a + b;
b = a;
a = temp;
}
System.out.println("前20项之和为:" + sum);
}
}
```
输出结果为:前20项之和为:32.66026079864164
阅读全文