From df38bb1b3d19782814f569381b6db46d367a9d47 Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Fri, 1 Nov 2024 20:15:33 +0100 Subject: [PATCH 1/6] adding the fibonacci series to the Recursion package --- .../Recursion/FibonacciSeries.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java diff --git a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java new file mode 100644 index 000000000000..fbdd89ed4e7d --- /dev/null +++ b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java @@ -0,0 +1,24 @@ +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 class FibonacciSeries { + + static int fib(int n) { + if (n == 0 || n ==1) + return n; + else + return fib(n - 1) + fib(n - 2); + } + + public static void main(String[] args) { + System.out.println("Fibonacci = " + fib(1)); // Fibonacci = 1 + System.out.println("Fibonacci = " + fib(0)); // Fibonacci = 0 + System.out.println("Fibonacci = " + fib(14)); // Fibonacci = 377 + } +} From 7b230c9a5e3a0275cb68c6e7f960c81b02017858 Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Sat, 2 Nov 2024 16:53:36 +0100 Subject: [PATCH 2/6] add JUint tests, remove main method, and format code --- .../Recursion/FibonacciSeries.java | 9 +------ .../Recursion/FibonacciSeriesTest.java | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java diff --git a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java index fbdd89ed4e7d..a390c55e873c 100644 --- a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java +++ b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java @@ -8,17 +8,10 @@ */ public class FibonacciSeries { - static int fib(int n) { - if (n == 0 || n ==1) + if (n == 0 || n == 1) return n; else return fib(n - 1) + fib(n - 2); } - - public static void main(String[] args) { - System.out.println("Fibonacci = " + fib(1)); // Fibonacci = 1 - System.out.println("Fibonacci = " + fib(0)); // Fibonacci = 0 - System.out.println("Fibonacci = " + fib(14)); // Fibonacci = 377 - } } diff --git a/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java new file mode 100644 index 000000000000..b41cd60dfbaa --- /dev/null +++ b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java @@ -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.fib(0)); + assertEquals(1, FibonacciSeries.fib(1)); + assertEquals(1, FibonacciSeries.fib(2)); + assertEquals(2, FibonacciSeries.fib(3)); + assertEquals(3, FibonacciSeries.fib(4)); + assertEquals(5, FibonacciSeries.fib(5)); + assertEquals(8, FibonacciSeries.fib(6)); + assertEquals(13, FibonacciSeries.fib(7)); + assertEquals(21, FibonacciSeries.fib(8)); + assertEquals(34, FibonacciSeries.fib(9)); + assertEquals(55, FibonacciSeries.fib(10)); + assertEquals(89, FibonacciSeries.fib(11)); + assertEquals(144, FibonacciSeries.fib(12)); + assertEquals(233, FibonacciSeries.fib(13)); + assertEquals(377, FibonacciSeries.fib(14)); + } + +} From 01b69fb76cbaeb2685b4e5c4f5d0912f5f0e0bd2 Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Sat, 2 Nov 2024 17:01:35 +0100 Subject: [PATCH 3/6] format code --- .../java/com/thealgorithms/Recursion/FibonacciSeriesTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java index b41cd60dfbaa..eeef3cbcd241 100644 --- a/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java +++ b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java @@ -1,6 +1,7 @@ package com.thealgorithms.Recursion; import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.Test; public class FibonacciSeriesTest { @@ -23,5 +24,4 @@ public void testFibonacci() { assertEquals(233, FibonacciSeries.fib(13)); assertEquals(377, FibonacciSeries.fib(14)); } - } From 0f5d461d17977afd21543c80d0244279eabca87e Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Sat, 2 Nov 2024 17:07:19 +0100 Subject: [PATCH 4/6] Fix Checkstyle issues in FibonacciSeries.java --- .../com/thealgorithms/Recursion/FibonacciSeries.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java index a390c55e873c..133b33f38ce5 100644 --- a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java +++ b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java @@ -8,10 +8,14 @@ */ public class FibonacciSeries { - static int fib(int n) { - if (n == 0 || n == 1) + private FibonacciSeries() { + throw new UnsupportedOperationException("Utility class"); + } + public static int fibonacci(int n) { + if (n <= 1) { return n; - else - return fib(n - 1) + fib(n - 2); + } else { + return fibonacci(n - 1) + fibonacci(n - 2); + } } } From b6a01b0bdc79a8e218c1604e32e74fe40b057440 Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Sat, 2 Nov 2024 17:09:45 +0100 Subject: [PATCH 5/6] Fix Checkstyle issues in FibonacciSeries.java --- .../Recursion/FibonacciSeriesTest.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java index eeef3cbcd241..4e4fc45809ba 100644 --- a/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java +++ b/src/test/java/com/thealgorithms/Recursion/FibonacciSeriesTest.java @@ -8,20 +8,20 @@ public class FibonacciSeriesTest { @Test public void testFibonacci() { - assertEquals(0, FibonacciSeries.fib(0)); - assertEquals(1, FibonacciSeries.fib(1)); - assertEquals(1, FibonacciSeries.fib(2)); - assertEquals(2, FibonacciSeries.fib(3)); - assertEquals(3, FibonacciSeries.fib(4)); - assertEquals(5, FibonacciSeries.fib(5)); - assertEquals(8, FibonacciSeries.fib(6)); - assertEquals(13, FibonacciSeries.fib(7)); - assertEquals(21, FibonacciSeries.fib(8)); - assertEquals(34, FibonacciSeries.fib(9)); - assertEquals(55, FibonacciSeries.fib(10)); - assertEquals(89, FibonacciSeries.fib(11)); - assertEquals(144, FibonacciSeries.fib(12)); - assertEquals(233, FibonacciSeries.fib(13)); - assertEquals(377, FibonacciSeries.fib(14)); + 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)); } } From 123f68305699c140629768404c409698b890de98 Mon Sep 17 00:00:00 2001 From: MohamedBoukthir Date: Sat, 2 Nov 2024 20:38:37 +0100 Subject: [PATCH 6/6] Declare FibonacciSeries class as final --- src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java index 133b33f38ce5..a89d110b8da3 100644 --- a/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java +++ b/src/main/java/com/thealgorithms/Recursion/FibonacciSeries.java @@ -7,7 +7,7 @@ FIBONACCI 0 1 1 2 3 5 8 13 21 34 55 ... */ -public class FibonacciSeries { +public final class FibonacciSeries { private FibonacciSeries() { throw new UnsupportedOperationException("Utility class"); } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy