diff --git a/homework/fibonacci/fibonacci.hpp b/homework/fibonacci/fibonacci.hpp index 3faab622..fa83403e 100644 --- a/homework/fibonacci/fibonacci.hpp +++ b/homework/fibonacci/fibonacci.hpp @@ -1,11 +1,19 @@ #pragma once int fibonacci_iterative(int sequence) { - // TODO: Your implementation goes here - return 0; + int current_number{0}; + int next_number{1}; + for (int i{0}; i < sequence; ++i) { + int new_number = current_number + next_number; + current_number = next_number; + next_number = new_number; + } + return current_number; } int fibonacci_recursive(int sequence) { - // TODO: Your implementation goes here - return 0; + if (sequence == 0 || sequence == 1) { + return sequence; + } + return fibonacci_recursive(sequence - 1) + fibonacci_recursive(sequence - 2); }