gpt4 book ai didi

java - 无法打印斐波那契数列中的所有数字

转载 作者:行者123 更新时间:2023-12-02 01:24:34 24 4
gpt4 key购买 nike

我正在尝试在某个给定范围内打印斐波那契数列。我在代码中发现了问题,但是无法修复它。

我已尽我所知尝试了一切


import java.util.*;

class Fiba {
public static void main(String args[]) {
int v1 = 0;
int v2 = 1;
Scanner gump = new Scanner(System.in);
System.out.print("enter the term :");
int term = gump.nextInt();
int result;
int result1;
int v3;
System.out.print(v1 + "," + v2);
while (term > v2) {
result = v1 + v2;

result1 = result + v2;
v1 = result;


v2 = result1;

if (v2 < term) {

System.out.print("," + v1 + "," + v2);

}


}

}
}

问题是,当循环运行时,v2 被分配给比该术语更大的值。所以,它拒绝显示完整的系列。我需要一个解决方案来打印该系列中的所有数字。

最佳答案

问题是,每次迭代时,您实际上都会计算斐波那契数列中的两个步骤。所以只有当该系列有偶数个项目时它才有效。您需要更改迭代以一次计算一个数字。一个示例解决方案是

int v1 = 0;
int v2 = 1;
System.out.print(v1 + "," + v2);
while (term > v2) {
int temp = v2;
v2 += v1;
if (v2 < term) {
System.out.print("," + v2);
}
v1 = temp;
}

关于java - 无法打印斐波那契数列中的所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57132160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com