Add Fibonacci series to Recursion package (#6079)

This commit is contained in:
Mohamed Boukthir
2024-11-02 21:44:24 +01:00
committed by GitHub
parent df0c997e4b
commit 539871a33e
2 changed files with 48 additions and 0 deletions

View File

@ -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);
}
}
}

View File

@ -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));
}
}