This commit is contained in:
William Mantly 2023-09-20 09:53:04 -04:00
parent bc46c80b02
commit f8006eb17c
10 changed files with 146 additions and 0 deletions

13
02-remove_dupe/README.md Normal file
View File

@ -0,0 +1,13 @@
Remove The Dupes!
==================
You have a string "aabbccddeded". We want to remove all the _consecutive_ duplicates and put them in a separate string, which yields two separate instances of the string "abcdeded".
input: "balloons"
expected output: "balons" "lo"
input: "aabbccddeded"
expected output: "abcdeded" "abcd"
input: "flabby aapples"
expected output: "flaby aples" "bap"

View File

@ -0,0 +1,2 @@
def remove_duplicate(string):
pass

18
03-birthday/README.md Normal file
View File

@ -0,0 +1,18 @@
Age Calculator
===============
###Part 1
Create a program that will take user input and tell them their age in months, days, hours, and minutes.
Sample output:
```
How old are you? 18
months : 216, days : 6480, hours : 155520, and minutes : 388800
```
###Part 2
Add a function to your program that takes the user's birthday as input in `YYYY-MM-DD` format and tells them their age in months, days, hours and minutes in the same fashion.
Hint: Take a look at Python's `datetime` library.

5
03-birthday/convert.py Normal file
View File

@ -0,0 +1,5 @@
def age_to_time(age):
pass
def birthday_to_time(birthday):
pass

View File

@ -0,0 +1,23 @@
McNugget Numbers
==================
In the 1980s, while eating McDonald's with his son, mathematician Henri Picciotto reasoned [McNugget Numbers](http://en.wikipedia.org/wiki/Coin_problem#McNugget_numbers).
At McDonalds Restaurants at the time, Chicken McNugget meals were available in sizes of 6 McNuggets, 9 McNuggets, or 20 McNuggets.
A number is a McNugget number if it can be the sum of the number of McNuggets purchased in an order before eating any of them.
Some Examples:
20 + 6 == 26
9 + 9 + 9 + 9 + 9 == 45
20 + 9 + 6 == 35
...etc
###Task 1
Determine all numbers that are not McNugget numbers using 1980s order sizes - `6`, `9` and `20`.
###McNugget 2015 Redux
Determine all numbers that are not McNugget numbers using today's order sizes - `4`, `6`, `10`, `20` and `40`.

View File

View File

@ -0,0 +1,14 @@
WTF - Write Totatives Finder
=================
The divisors of a number are those numbers that divide it evenly; for example, the divisors of 60 are `1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, and 60`. The sum of the divisors of 60 is 168, and the number of divisors of 60 is 12.
The totatives of a number are those numbers less than the given number and coprime to it. Two numbers are coprime if they have no common factors other than 1.
For example, the totatives of 30 are `1, 7, 11, 13, 17, 19, 23, and 29`.
The number of totatives of a given number is called its totient. As you can see above, the totient of 30 is 8.
Your task is to write a small library of five functions that compute the divisors of a number, the sum and number of its divisors, the totatives of a number, and its totient.
_Hint_: The functions can call each other!

14
05-sum_of_divisors/wtf.py Normal file
View File

@ -0,0 +1,14 @@
def compute_divisors(num):
pass
def sum_of_divisors(num):
pass
def divisor_count(num):
pass
def get_totatives(num):
pass
def totient(num):
pass

View File

@ -0,0 +1,41 @@
Binary Converter
================
In this exercise you will be making functions that convert between base 10 numbers and binary.
Binary notation is based on powers of 2. Each digit is a power of 2. The first digit is 2^0, second 2^1, etc... You then add all of the digits together.
For example, 101 is 5 (4 + 1). 110 is 6 (4 + 2). 1100 is 12 (8 + 4)
Here is a chart of some base 2 vs base 10 notation numbers:
0.....0
1.....1
10.....2
11.....3
100.....4
101.....5
110.....6
111.....7
1000.....8
1001.....9
1010.....10
1011.....11
1100.....12
1101.....13
####Step 1
Write a method that takes binary numbers and outputs a base 10 number.
binary_to_decimal(1011) ## returns 11
####Step 2
Write a method that takes decimal numbers and returns it in binary notation.
decimal_to_binary(12) ## 1100
Resources
----------
[How to Convert Decimal to Binary](http://www.wikihow.com/Convert-from-Decimal-to-Binary)

View File

@ -0,0 +1,16 @@
def binary_to_decimal(num):
pass
def decimal_to_binary(num):
pass
assert binary_to_decimal(0) == 0, "0 to decimal should return 0"
assert binary_to_decimal(1011) == 11, "1011 to decimal should return 11"
assert binary_to_decimal(101011) == 43, "101011 to decimal should return 43"
assert binary_to_decimal(101011101) == 349, "101011101 to decimal should return 349"
assert decimal_to_binary(0) == 0, "0 to binary should return 0"
assert decimal_to_binary(5) == 101, "5 to binary should return 101"
assert decimal_to_binary(10) == 1010, "10 to binary should return 1010"
assert decimal_to_binary(113) == 1110001, "113 to binary should return 1110001"