在不使用"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)
Usm*_*hin 11
计算斐波纳契数的纯公式:
public double getFibonacci(int n) {
double f1 = Math.pow(((1 + Math.sqrt(5)) / 2.0), n);
double f2 = Math.pow(((1 - Math.sqrt(5)) / 2.0), n);
return Math.floor((f1 - f2) / Math.sqrt(5));
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
你的程序是完全正确的; 您需要更改的是print语句的位置:
public static void main(String[] args) {
int f = 0;
int g = 1;
for(int i = 1; i <= 10; i++)
{
System.out.print(f + " ");
f = f + g;
g = f - g;
}
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)
或者,打印g而不是f.