public class Fibonacci {
public static long fib(int n) {
if (n <= 1) return n;
else return fib(n-1) + fib(n-2);
}
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
for (int i = 1; i <= N; i++)
System.out.println(i + ": " + fib(i));
}
}
Run Code Online (Sandbox Code Playgroud)
假设用户输入"java Fibonacci 7",结果将如下所示:1:1
2:1
3:2
4:3
5:5
6:8
7:13
我似乎完全混淆了它的工作原理.从数字3开始.当fib(i)方法通过3时,它不应该返回3,因为如果n = 3那么fib(n-1)/的总和是2 /和fib(n-2)/1 /是3.等等其他数字前进.
jan*_*sad 17
这是一个更简单的代码,可以生成像'0 1 1 2 3 ...'这样的Fibonacci序列.
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)
| 归档时间: |
|
| 查看次数: |
52479 次 |
| 最近记录: |