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));
}
}
ユーザーが「java Fibonacci 7」と入力したと仮定すると、結果は次のようになります。
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
引数 3 から始めて、これがどのように機能するかについて完全に混乱しているようです。 fib(i) メソッドが 3 を渡された場合、n = 3 の場合は fib(n-1) の合計であるため、3 も返すべきではありません。 / n-1 は 2 です/ そして fib(n-2) / n-2 は 1 です/ は 3 です。その他の数字も同様です。