确定斐波那契序列很容易计算:
int num = 0;
int num2 = 1;
int loop;
int fibonacci;
System.out.print(num2);
for (loop = 1; loop <= 10; loop ++)
{
fibonacci = num + num2;
num = num2;
num2 = fibonacci;
System.out.print(" " + fibonacci);
}
我的问题在于试图确定指定的 N的值。 如,如果我想找到序列中的第6个元素,即8,我如何找到那个数字,并且只有那个数字?
8条答案
按热度按时间jtjikinw1#
在你的代码中,
num
从第0个斐波纳契数开始,num1
从第1个斐波纳契数开始。所以要找到第n个,你必须迭代步骤n
次:等你写完了再打印
当循环计数器
loop
的值为k
时,num
保存第k个斐波那契数,num2
保存第(k+1)个斐波那契数。7z5jn7bk2#
为了找到第n位数,我们需要知道斐波那契数的长度。可以使用Java的
Integer.toString(int)
函数将int转换为string。使用该字符串,然后可以确定转换后的斐波那契数的长度。编辑:删除代码B/c可能的hwk问题
im9ewurl3#
6mzjoqzu4#
0lvr5msh5#
我希望我的回答能有所帮助。我试图用动态规划的方法来解决这个问题。你只需要跟踪两个元素,直到n之前的一个索引。当你的代码在那里时,答案将是元素n-1和n-2的总和。
}
w51jfk4q6#
qcuzuvrc7#
我已经将answer code provided by @Daniel Fischer重新构造为一个Java方法,您可以轻松地将其合并到您的开发中:
ctrmrzij8#