From 8182a2a28f7979ef4825d0a3ffb54ced84b63259 Mon Sep 17 00:00:00 2001 From: Sebastian Sosnowski Date: Tue, 6 Jan 2026 17:10:09 +0100 Subject: [PATCH 1/2] Add iterative implementation --- homework/fibonacci/fibonacci.hpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/homework/fibonacci/fibonacci.hpp b/homework/fibonacci/fibonacci.hpp index 3faab622..f5dce932 100644 --- a/homework/fibonacci/fibonacci.hpp +++ b/homework/fibonacci/fibonacci.hpp @@ -2,7 +2,18 @@ int fibonacci_iterative(int sequence) { // TODO: Your implementation goes here - return 0; + if (sequence == 0 or sequence == 1) + return sequence; + if (sequence < 0) + return -1; + + int curr{0}, prev_prev{0}, prev{1}; + for (int i = 2; i <= sequence; i++) { + curr = prev_prev + prev; + prev_prev = prev; + prev = curr; + } + return curr; } int fibonacci_recursive(int sequence) { From 5327895baea3bd1bef6f4ae7479aa872d97daf4b Mon Sep 17 00:00:00 2001 From: Sebastian Sosnowski Date: Tue, 6 Jan 2026 17:10:31 +0100 Subject: [PATCH 2/2] Add recursive implementation --- homework/fibonacci/fibonacci.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/homework/fibonacci/fibonacci.hpp b/homework/fibonacci/fibonacci.hpp index f5dce932..335d1d3e 100644 --- a/homework/fibonacci/fibonacci.hpp +++ b/homework/fibonacci/fibonacci.hpp @@ -18,5 +18,9 @@ int fibonacci_iterative(int sequence) { int fibonacci_recursive(int sequence) { // TODO: Your implementation goes here - return 0; + if (sequence == 0 or sequence == 1) + return sequence; + int prev = fibonacci_recursive(sequence - 1); + int prev_prev = fibonacci_recursive(sequence - 2); + return prev + prev_prev; }