【发布时间】:2014-05-17 08:22:49
【问题描述】:
我需要创建一个方法来返回斐波那契数列中的第 n 个整数,我编写的代码在打印到表格中时会返回该数列中的第二个整数。方法中使用的int fib是行号乘以列号,大家帮忙看看?
private int fibonacci(int fib){
int a = 1, b = 1;
while(a < fib){
b+=a+=b;
}
return b+=a+=b;
}
private int fibonacci(int fib){
int fibn = 0;
fibn =(int)((Math.pow((1+Math.sqrt(5)), fib)-Math.pow((1-Math.sqrt(5)), fib))/(Math.pow(2, fib)*Math.sqrt(5)));
return fibn;
}
* | 1 2 3 4 5
--------------------------------
1 | 1 1 2 3 5
2 | 1 3 8 21 55
3 | 2 8 34 144 610
4 | 3 21 144 9876765
【问题讨论】:
-
为什么不使用Binet's Formula?
-
感谢让我更接近,但我需要更改 int fib 的值,因为现在在表中,该系列在该系列的稍后部分重印了一个数字
-
你的问题到底是什么,因为你可以在互联网上找到很多斐波那契的实现,所以我想你想要更多的东西。但这在您的帖子中并不透明。
-
我需要在表格中使用它来打印表格中的斐波那契数列,但我无法让它们连续打印,他们稍后在系列中重新启动一个数字,我添加了我的方法并打印了表格到我的代码,这样你就可以看到
-
我想通了,我只需要使用计数变量而不是行*列,我不知道为什么我之前没有想到,感谢帮助
标签: java loops methods return fibonacci