From db58c4e86a3ad4b40747bfcb6f6ab2b73e6b3218 Mon Sep 17 00:00:00 2001
From: Michael Mutote <130656746+mr1Michael@users.noreply.github.com>
Date: Wed, 11 Oct 2023 21:08:28 +0200
Subject: [PATCH] 22202956 Exercise 4.9 question 2 done. the files are split as
 the code snippets are considerably longer

---
 4_9_Exercises/Question 2.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 4_9_Exercises/Question 2.py

diff --git a/4_9_Exercises/Question 2.py b/4_9_Exercises/Question 2.py
new file mode 100644
index 0000000..d3240ff
--- /dev/null
+++ b/4_9_Exercises/Question 2.py	
@@ -0,0 +1,19 @@
+# question 2
+def fibonacci(n):
+    # inefficient recursive fibonacci, counts down from "n" while each iteration spawns 2 recursive calls
+    if n == 0:
+        return 0
+    if n == 1:
+        return 1
+    else:
+        return fibonacci(n - 1) + fibonacci(n - 2)
+
+
+def fast_fibonacci(n, n_minus_2=0, n_minus_1=1):
+    # efficient recursive fibonacci, by going forward with each iteration spawning only 1 recursive call
+    if n == 0:
+        return 0
+    if n == 1:
+        return n_minus_1
+    else:
+        return fast_fibonacci(n - 1, n_minus_1, n_minus_1 + n_minus_2)
\ No newline at end of file
-- 
GitLab