java - 尝试创建斐波那契数列

标签 java variables printing int fibonacci

我不知道我做错了什么。我正在尝试打印序列的“fn”。我是根据别人的代码写的。有什么想法吗?

这是我的代码:

int num = n;
int fn = 1;
int f1 = 0;
int f2 = 1;

for (int i = 2; i < n; i++)
{
 fn = f1 + f2;
 f1 = f2;
 f2 = fn;

}

System.out.print( "fib( " + num + " ) is ");
System.out.println( fn );

最佳答案

我运行了你的代码,看看是否有问题。以下是值 2-10 的各种程序输出:

fib( 2 ) is 1
fib( 3 ) is 1
fib( 4 ) is 2
fib( 5 ) is 3
fib( 6 ) is 5
fib( 7 ) is 8
fib( 8 ) is 13
fib( 9 ) is 21

输出接近正确,但您得到的结果是 fib(n - 1)每一次。原因是你正在停止你的 for提前循环一次迭代。尝试使用 <= 修改您的条件:

for (int i = 2; i <= n; i++)

输出:

fib( 2 ) is 1
fib( 3 ) is 2
fib( 4 ) is 3
fib( 5 ) is 5
fib( 6 ) is 8
fib( 7 ) is 13
fib( 8 ) is 21
fib( 9 ) is 34

关于java - 尝试创建斐波那契数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055683/

相关文章:

.net - 在 VB.NET 中打印到打印机的首选方法是什么?

java - 获取当前正在显示的 JEditorPane

c++ - C++ 中的这是什么?

swift - 将变量值传递给不同的类 - Swift

javascript - 将变量的值插入数组是否返回 Void 0?

php - Javascript/jQuery 应用程序一键打印 100 张发票,无需打开打印对话框

css - 使用现代 CSS 删除第一个元素的上边距

java - 数组迭代、跳跃

java - 绘制应用程序内存和 CPU 性能指标 Java Netbeans

java - Spring Boot 中的线程本地行为