diff options
author | Matt Strapp <matt@mattstrapp.net> | 2022-05-24 11:18:46 -0500 |
---|---|---|
committer | Matt Strapp <matt@mattstrapp.net> | 2022-05-24 11:19:55 -0500 |
commit | 7a73162607544204032aa66cce755daf21edebda (patch) | |
tree | 58578e01f15f34a855d99c32898db9d7a1603e67 /ee2301 | |
parent | do some stuff (diff) | |
download | homework-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.md | 3 | ||||
-rw-r--r-- | ee2301/baseConvert.cpp | 57 | ||||
-rw-r--r-- | ee2301/collatz.py | 21 | ||||
-rw-r--r-- | ee2301/hw4.v | 0 |
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 |