我目前正试图就Fibonacci序列找出这个问题。这是相当直接的,但我不知道我能做到什么。事先为我的无能而道歉。
我目前的代码,我知道它完全错了,它甚至无法编译..我很失落,有人可以向我解释
public static void fib(int n)
{
int neW = 1;
int next = 1;
int old = neW - next;
while (neW <= n)
{
neW = next + old;
old = next;
next = neW;
System.out.println(neW);
}
}
我当前的代码输出与正确的代码输出相比;
答案 0 :(得分:0)
在进一步调查您的屏幕截图时,似乎调用函数fib(n)
应该返回n个值,不直到该值。当我们知道它是一个任务时,我们不会倾向于编写代码,但是你似乎错过了一些问题并且你的代码几乎检查出来...所以这里是我的理论解决方案,但我不能保证它有效。
public static void fib(int b)
{
int n = 0;
int neW = 1;
int next = 1;
int old = neW - next;
while (n <= b)
{
System.out.println(neW);
neW = next + old;
old = next;
next = neW;
n++;
}
}
这样的事情应该可以解决问题。
答案 1 :(得分:0)
关于你的代码有一些令我困惑的事情,但这就是我要做的事情:
public static void fib(int n)
{
int current = 0;
int old = 1;
int new = 0;
for(int i = 0; i < n; i = i+1)
{
new = current + old;
old = current;
current = new;
System.out.println(current);
}
}