aboutsummaryrefslogtreecommitdiffstats
path: root/ee2301
diff options
context:
space:
mode:
authorMatt Strapp <matt@mattstrapp.net>2022-05-24 11:18:46 -0500
committerMatt Strapp <matt@mattstrapp.net>2022-05-24 11:19:55 -0500
commit7a73162607544204032aa66cce755daf21edebda (patch)
tree58578e01f15f34a855d99c32898db9d7a1603e67 /ee2301
parentdo some stuff (diff)
downloadhomework-7a73162607544204032aa66cce755daf21edebda.tar
homework-7a73162607544204032aa66cce755daf21edebda.tar.gz
homework-7a73162607544204032aa66cce755daf21edebda.tar.bz2
homework-7a73162607544204032aa66cce755daf21edebda.tar.lz
homework-7a73162607544204032aa66cce755daf21edebda.tar.xz
homework-7a73162607544204032aa66cce755daf21edebda.tar.zst
homework-7a73162607544204032aa66cce755daf21edebda.zip
Graduate
Signed-off-by: Matt Strapp <matt@mattstrapp.net>
Diffstat (limited to 'ee2301')
-rw-r--r--ee2301/README.md3
-rw-r--r--ee2301/baseConvert.cpp57
-rw-r--r--ee2301/collatz.py21
-rw-r--r--ee2301/hw4.v0
4 files changed, 81 insertions, 0 deletions
diff --git a/ee2301/README.md b/ee2301/README.md
new file mode 100644
index 0000000..56450fb
--- /dev/null
+++ b/ee2301/README.md
@@ -0,0 +1,3 @@
+# IMPORTANT I GUESS
+
+This is not actual HW, just stuff I might have used.
diff --git a/ee2301/baseConvert.cpp b/ee2301/baseConvert.cpp
new file mode 100644
index 0000000..d675741
--- /dev/null
+++ b/ee2301/baseConvert.cpp
@@ -0,0 +1,57 @@
+// C program to convert a number from any base
+// to decimal
+#include <stdio.h>
+#include <string.h>
+#include <iostream>
+
+// To return value of a char. For example, 2 is
+// returned for '2'. 10 is returned for 'A', 11
+// for 'B'
+int val(char c)
+{
+ if (c >= '0' && c <= '9')
+ return (int)c - '0';
+ else
+ return (int)c - 'A' + 10;
+}
+
+// Function to convert a number from given base 'b'
+// to decimal
+int toDeci(char *str, int base)
+{
+ int len = strlen(str);
+ int power = 1; // Initialize power of base
+ int num = 0; // Initialize result
+ int i;
+
+ // Decimal equivalent is str[len-1]*1 +
+ // str[len-1]*base + str[len-1]*(base^2) + ...
+ for (i = len - 1; i >= 0; i--)
+ {
+ // A digit in input number must be
+ // less than number's base
+ if (val(str[i]) >= base)
+ {
+ printf("Invalid Number");
+ return -1;
+ }
+
+ num += val(str[i]) * power;
+ power = power * base;
+ }
+
+ return num;
+}
+
+// Driver code
+int main()
+{
+ char str[] = "11A";
+ int base = 16;
+ printf("Please enter number followed by base: ");
+ std::cin >> str >> base;
+ printf("Decimal equivalent of %s in base %d is"
+ " %d\n",
+ str, base, toDeci(str, base));
+ return 0;
+}
diff --git a/ee2301/collatz.py b/ee2301/collatz.py
new file mode 100644
index 0000000..5f50ccc
--- /dev/null
+++ b/ee2301/collatz.py
@@ -0,0 +1,21 @@
+def collatzCount(k):
+ for n in range (1,k+1):
+ collatzConjecture(n)
+ print("\n")
+
+def collatzConjecture(n):
+ print(n, end = ' ')
+ if n is 1:
+ return 1
+ elif n > 1:
+ if n%2:
+ return collatzConjecture(int((n*3)+1))
+ else:
+ return collatzConjecture(int(n/2))
+ raise AssertionError
+
+
+try:
+ collatzCount(100000)
+except AssertionError:
+ print("The Collatz Conjecture is false!")
diff --git a/ee2301/hw4.v b/ee2301/hw4.v
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ee2301/hw4.v