aboutsummaryrefslogtreecommitdiff
path: root/entries/braxtonh/homework
diff options
context:
space:
mode:
authorbraxtonhall2022-10-23 18:20:39 +0000
committerbraxtonhall2022-10-23 18:20:39 +0000
commitb5b18e46e3a5c4daaa3b4613395b1a216a47bc17 (patch)
tree13312c71c0a2968cb34f86527a82bb1e33abb4b0 /entries/braxtonh/homework
Initial commit
Diffstat (limited to 'entries/braxtonh/homework')
-rw-r--r--entries/braxtonh/homework/fib.cpp32
-rw-r--r--entries/braxtonh/homework/fib.hpp4
2 files changed, 36 insertions, 0 deletions
diff --git a/entries/braxtonh/homework/fib.cpp b/entries/braxtonh/homework/fib.cpp
new file mode 100644
index 0000000..900c9d0
--- /dev/null
+++ b/entries/braxtonh/homework/fib.cpp
@@ -0,0 +1,32 @@
+#include "fib.hpp"
+
+#include <string>
+#include <iostream>
+#include <stdexcept>
+
+using namespace std;
+
+int Fibonacci::fib(const int n) const
+{
+ // cout << "start" << endl;
+ if (n < 0) {
+ // HOW??
+ cout << "wtfff got ( " << n << " )" << endl;
+ // https://stackoverflow.com/questions/8480640/how-to-throw-a-c-exception
+ throw invalid_argument("received negative value");
+ } else if (n == 0) {
+ // cout << "********************* LINE 12" << endl;
+ // https://stackoverflow.com/questions/1451170/in-the-fibonacci-sequence-is-fib0-0-or-1
+ return 0; //1; ??????
+ } else if (n == 1) {
+ // cout << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! LINE 15" << endl;
+ return 1;
+ } else {
+ // cout << "GOT TO LINE 19" << endl;
+ // cout << "got here" << endl;
+ // int retVal = fib(n - 1) + fib(n - 2);
+ return fib(n - 1) + fib(n - 2);
+ // // cout << "here" << endl;
+ // cout << "returning: (" << retVal << " )" << endl;
+ }
+}
diff --git a/entries/braxtonh/homework/fib.hpp b/entries/braxtonh/homework/fib.hpp
new file mode 100644
index 0000000..a7bbd30
--- /dev/null
+++ b/entries/braxtonh/homework/fib.hpp
@@ -0,0 +1,4 @@
+class Fibonacci
+{
+ int fib(const int n) const;
+};