diff options
Diffstat (limited to 'challenge-201/sgreen/python')
| -rwxr-xr-x | challenge-201/sgreen/python/ch-1.py | 15 | ||||
| -rwxr-xr-x | challenge-201/sgreen/python/ch-2.py | 24 |
2 files changed, 39 insertions, 0 deletions
diff --git a/challenge-201/sgreen/python/ch-1.py b/challenge-201/sgreen/python/ch-1.py new file mode 100755 index 0000000000..e42e28f11c --- /dev/null +++ b/challenge-201/sgreen/python/ch-1.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +import sys + + +def main(n): + # Find numbers between 0 and the length of n that don't appear in the input + missing = [i for i in range(len(n)+1) if i not in n] + print(*missing, sep=', ') + + +if __name__ == '__main__': + # Turn the strings into integers + n = [int(i) for i in sys.argv[1:]] + main(n) diff --git a/challenge-201/sgreen/python/ch-2.py b/challenge-201/sgreen/python/ch-2.py new file mode 100755 index 0000000000..9899aa8557 --- /dev/null +++ b/challenge-201/sgreen/python/ch-2.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +import sys + + +def pile(remain, minimum): + found = 0 + for take in range(minimum, remain+1): + if remain == take: + # We have a solution + found += 1 + else: + # Take this amount from the remaining pennies + found += pile(remain - take, take) + + return found + + +def main(n): + print(pile(n, 1)) + + +if __name__ == '__main__': + main(int(sys.argv[1])) |
