我想知道怎样才能找到第n个斐波那契序列的n个非常大的n值1000000.使用等级 - 学校递推方程fib(n)=fib(n-1)+fib(n-2),找到第50个学期需要2-3分钟!
谷歌搜索后,我开始了解Binet的公式,但它不适合n> 79的值,因为这里说的
有没有算法这样做就像我们找到素数一样?
在不使用"if"的情况下在int Fibonacci(int n)中编写的代码是什么,就像他们在这里使用Java递归的Fibonacci序列一样?我试着写这个但是错了:因为在这个程序中,列表将是1 1 2 3 5 8而不是0 1 1 2 3 5 8
这是我试写的程序:
public class Fibonacci
{
public static void main(String[] args)
{
int f = 0;
int g = 1;
for(int i = 1; i <= 10; i++)
{
f = f + g;
g = f - g;
System.out.print(f + " ");
}
System.out.println();
}
}
Run Code Online (Sandbox Code Playgroud)