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