diff options
Diffstat (limited to 'ee2301')
-rw-r--r-- | ee2301/README.md | 3 | ||||
-rw-r--r-- | ee2301/baseConvert.cpp | 54 | ||||
-rw-r--r-- | ee2301/collatz.py | 22 |
3 files changed, 79 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..486a68f --- /dev/null +++ b/ee2301/baseConvert.cpp @@ -0,0 +1,54 @@ +// C program to convert a number from any base +// to decimal +#include <stdio.h> +#include <string.h> + +// 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("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..a9cff4c --- /dev/null +++ b/ee2301/collatz.py @@ -0,0 +1,22 @@ +def collatzCount(number): + for n in range (1,number): + collatzConjecture(n) + print("\n") + +def collatzConjecture(n): + print(n, end = ' ') + if n is 1: + return 1 + else: + if (n%2): + return collatzConjecture(int((n*3)+1)) + else: + return collatzConjecture(int(n/2)) + raise AssertionError + +#main +for i in range (1,3): + print("") + +collatzCount(10000) + |