我需要创建一个返回fibonacci系列中第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
答案 0 :(得分:1)
尝试此代码,例如:
public class Fibonacci {
public static void main(String[] args) {
int n = 15, a = 1, b = 1;
System.out.print(a + " " + b);
for(int i =3; i < n; i++) {
b = a + b;
a = b - a;
System.out.print(" " + b);
}
}
}
这给出了输出:
1 1 2 3 5 8 13 21 34 55 89 144 233 377