gpt4 book ai didi

java - 如何打印两个整数之间的斐波那契数列?

转载 作者:行者123 更新时间:2023-12-01 07:23:42 25 4
gpt4 key购买 nike

我做了斐波那契数列方法;

public static int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}

但是我需要在两个数字之间打印这个系列,所以我写了一些代码,例如:

int q=0;

while(q<max){

if(fibonacci(q)<min){}

if(fibonacci(q)>max){break;}

if(fibonacci(q)<=max&&fibonacci(q)>=min)
System.out.print(fibonacci(q)+" ");
q++;

这个循环在main方法中。我需要用一种方法来完成此操作,我的意思是这两个函数将在同一个方法中。

最佳答案

数字 N 是斐波那契数,如果 (5*N^2+4)(5*N^2-4) 是一个完全平方数。我想您可以使用此属性来打印 minmax 之间的所有斐波那契数。

例如,5 是斐波那契数,5 * 5 * 5 - 4 = 121 是完全平方数。

for (int i = min; i <= max; i++) {
if (isPerfectSquare(5*i*i + 4) || isPerfectSquare(5*i*i - 4)) {
// i is fibonacci number
}
}

在上面的解决方案中,一旦获得了前两个斐波那契数,就可以跳过循环,并使用斐波那契公式来获得其余的数。

关于java - 如何打印两个整数之间的斐波那契数列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29588894/

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