mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-06 00:54:32 +08:00
Add Fibonacci series to Recursion package (#6079)
This commit is contained in:
@ -0,0 +1,21 @@
|
||||
package com.thealgorithms.Recursion;
|
||||
|
||||
/*
|
||||
The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones,
|
||||
starting with 0 and 1.
|
||||
NUMBER 0 1 2 3 4 5 6 7 8 9 10 ...
|
||||
FIBONACCI 0 1 1 2 3 5 8 13 21 34 55 ...
|
||||
*/
|
||||
|
||||
public final class FibonacciSeries {
|
||||
private FibonacciSeries() {
|
||||
throw new UnsupportedOperationException("Utility class");
|
||||
}
|
||||
public static int fibonacci(int n) {
|
||||
if (n <= 1) {
|
||||
return n;
|
||||
} else {
|
||||
return fibonacci(n - 1) + fibonacci(n - 2);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.thealgorithms.Recursion;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class FibonacciSeriesTest {
|
||||
|
||||
@Test
|
||||
public void testFibonacci() {
|
||||
assertEquals(0, FibonacciSeries.fibonacci(0));
|
||||
assertEquals(1, FibonacciSeries.fibonacci(1));
|
||||
assertEquals(1, FibonacciSeries.fibonacci(2));
|
||||
assertEquals(2, FibonacciSeries.fibonacci(3));
|
||||
assertEquals(3, FibonacciSeries.fibonacci(4));
|
||||
assertEquals(5, FibonacciSeries.fibonacci(5));
|
||||
assertEquals(8, FibonacciSeries.fibonacci(6));
|
||||
assertEquals(13, FibonacciSeries.fibonacci(7));
|
||||
assertEquals(21, FibonacciSeries.fibonacci(8));
|
||||
assertEquals(34, FibonacciSeries.fibonacci(9));
|
||||
assertEquals(55, FibonacciSeries.fibonacci(10));
|
||||
assertEquals(89, FibonacciSeries.fibonacci(11));
|
||||
assertEquals(144, FibonacciSeries.fibonacci(12));
|
||||
assertEquals(233, FibonacciSeries.fibonacci(13));
|
||||
assertEquals(377, FibonacciSeries.fibonacci(14));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user