Skip to content

Commit 539871a

Browse files
Add Fibonacci series to Recursion package (#6079)
1 parent df0c997 commit 539871a

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.thealgorithms.Recursion;
2+
3+
/*
4+
The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones,
5+
starting with 0 and 1.
6+
NUMBER 0 1 2 3 4 5 6 7 8 9 10 ...
7+
FIBONACCI 0 1 1 2 3 5 8 13 21 34 55 ...
8+
*/
9+
10+
public final class FibonacciSeries {
11+
private FibonacciSeries() {
12+
throw new UnsupportedOperationException("Utility class");
13+
}
14+
public static int fibonacci(int n) {
15+
if (n <= 1) {
16+
return n;
17+
} else {
18+
return fibonacci(n - 1) + fibonacci(n - 2);
19+
}
20+
}
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.thealgorithms.Recursion;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class FibonacciSeriesTest {
8+
9+
@Test
10+
public void testFibonacci() {
11+
assertEquals(0, FibonacciSeries.fibonacci(0));
12+
assertEquals(1, FibonacciSeries.fibonacci(1));
13+
assertEquals(1, FibonacciSeries.fibonacci(2));
14+
assertEquals(2, FibonacciSeries.fibonacci(3));
15+
assertEquals(3, FibonacciSeries.fibonacci(4));
16+
assertEquals(5, FibonacciSeries.fibonacci(5));
17+
assertEquals(8, FibonacciSeries.fibonacci(6));
18+
assertEquals(13, FibonacciSeries.fibonacci(7));
19+
assertEquals(21, FibonacciSeries.fibonacci(8));
20+
assertEquals(34, FibonacciSeries.fibonacci(9));
21+
assertEquals(55, FibonacciSeries.fibonacci(10));
22+
assertEquals(89, FibonacciSeries.fibonacci(11));
23+
assertEquals(144, FibonacciSeries.fibonacci(12));
24+
assertEquals(233, FibonacciSeries.fibonacci(13));
25+
assertEquals(377, FibonacciSeries.fibonacci(14));
26+
}
27+
}

0 commit comments

Comments
 (0)