フィボナッチ数のように,複数の再帰呼び出しを必要とするロジックなら素直にループで書こう.
private static void fib( int max ) {
int total = 0;
int prev1 = 0;
int prev2 = 1;
for( int i = 0;i < max;i++ ) {
if( i == 0 ) prev1 = 0;
else if( i == 1 ) prev2 = 1;
else {
prev2 = prev1;
prev1 = total;
}
total = prev1 + prev2;
}
System.out.println( total );
}
0 件のコメント:
コメントを投稿