From 1d0404792476d46a212f26887bff71f64802cea8 Mon Sep 17 00:00:00 2001 From: MichalG315 Date: Fri, 18 Jul 2025 19:40:43 +0200 Subject: [PATCH 1/2] iterative works --- homework/fibonacci/fibonacci.hpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/homework/fibonacci/fibonacci.hpp b/homework/fibonacci/fibonacci.hpp index 3faab622..aa57ba70 100644 --- a/homework/fibonacci/fibonacci.hpp +++ b/homework/fibonacci/fibonacci.hpp @@ -1,8 +1,25 @@ #pragma once int fibonacci_iterative(int sequence) { - // TODO: Your implementation goes here - return 0; + int N_element = 1; + int N_minus_one_element = 1; + int N_minus_two_element = 0; + + if (sequence == 0) { + return 0; + } + + if (sequence == 1) { + return 1; + } + + for (int i = 2; i <= sequence; i++) { + N_element = N_minus_one_element + N_minus_two_element; + N_minus_two_element = N_minus_one_element; + N_minus_one_element = N_element; + } + + return N_element; } int fibonacci_recursive(int sequence) { From 3ba1dd55e3cf36f18191f9e7ae4569029b2cab6d Mon Sep 17 00:00:00 2001 From: MichalG315 Date: Fri, 18 Jul 2025 19:46:27 +0200 Subject: [PATCH 2/2] recursive works --- homework/fibonacci/fibonacci.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/homework/fibonacci/fibonacci.hpp b/homework/fibonacci/fibonacci.hpp index aa57ba70..10b146e6 100644 --- a/homework/fibonacci/fibonacci.hpp +++ b/homework/fibonacci/fibonacci.hpp @@ -23,6 +23,12 @@ int fibonacci_iterative(int sequence) { } int fibonacci_recursive(int sequence) { - // TODO: Your implementation goes here - return 0; + if (sequence == 0) { + return 0; + } + + if (sequence == 1 || sequence == 2) { + return 1; + } + return fibonacci_recursive(sequence - 1) + fibonacci_recursive(sequence - 2); }