|
1 | 1 | import java.util.Random;
|
2 | 2 |
|
| 3 | +/** |
| 4 | + * class containing static methods to compute the fibonacci sequence sum for an integer |
| 5 | + * the class contains two implementations: |
| 6 | + * 1. a recursive method |
| 7 | + * 2. a much faster method utilizing memoization and dynamic programming |
| 8 | + * */ |
| 9 | +class Fibonacci { |
| 10 | + // recursive implementation |
| 11 | + public static long Fib(int N) { |
| 12 | + if (N == 0) return 0; |
| 13 | + if (N == 1) return 1; |
| 14 | + |
| 15 | + return Fib(N - 2) + Fib(N - 1); |
| 16 | + } |
| 17 | +} |
| 18 | + |
3 | 19 | public class PracticeAlgorithms {
|
4 | 20 | public static boolean isBetweenZeroAndOne(double x, double y) {
|
5 | 21 | return (0 < x && x < 1) && (0 < y && y < 1);
|
@@ -119,5 +135,11 @@ public static void main(String[] args) {
|
119 | 135 | System.out.println();
|
120 | 136 |
|
121 | 137 | System.out.println(lg(32));
|
| 138 | + System.out.println(); |
| 139 | + |
| 140 | + // loop utilizing the recursive fib method |
| 141 | + for (int i = 0; i < 101; i++) { |
| 142 | + System.out.println(Fibonacci.Fib(i)); |
| 143 | + } |
122 | 144 | }
|
123 | 145 | }
|
0 commit comments