aboutsummaryrefslogtreecommitdiffstats
path: root/OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp
diff options
context:
space:
mode:
authorRossTheRoss <msattr@gmail.com>2020-02-09 08:46:52 -0600
committerRossTheRoss <msattr@gmail.com>2020-02-09 08:46:52 -0600
commitbd1d350c376b45e334697851e29b2f79fee0c956 (patch)
treeeb242032a64442caef7a35434400eb0818911e9a /OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp
parentDo micro prelab (diff)
parentRename file (diff)
downloadhomework-bd1d350c376b45e334697851e29b2f79fee0c956.tar
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.gz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.bz2
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.lz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.xz
homework-bd1d350c376b45e334697851e29b2f79fee0c956.tar.zst
homework-bd1d350c376b45e334697851e29b2f79fee0c956.zip
Merge branch 'master' of github.com:RosstheRoss/TestingFun
Diffstat (limited to 'OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp')
-rw-r--r--OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp b/OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp
new file mode 100644
index 0000000..17a37fd
--- /dev/null
+++ b/OLD/ee1301/wk6/hw6_directory/strap012_HW6B.cpp
@@ -0,0 +1,35 @@
+//Matthew Strapp
+//EE1301
+//17 April 2019
+//HW 6B: Recursion and ff(x)
+#include <iostream>
+
+int ff(int x);
+int main() {
+ int x, y;
+ do {
+ std::cout << "Please enter a value of x: ";
+ std::cin >> x;
+ } while (x<0);
+ std::cout << "Beginning calculation of ff(x)...\n";
+ y = ff(x);
+ std::cout << "Calcuation complete, ff(x) = " << y << std::endl;
+}
+
+// This function either returns 1 when x is one of two recrusive conditions depending on if x is even or odd.
+int ff(int x) {
+ if (x > 1) {
+ if (x%2 == 0) {
+ // x is even
+ std::cout << "Calling ff(" << x/2 << ")\n";
+ return x*ff(x/2);
+ } else {
+ // x is odd but not 1
+ std::cout << "Calling ff(" << x-2 << ")\n";
+ return x*ff(x-2);
+ }
+ } else {
+ // x is 1 (or 0)
+ return 1;
+ }
+}