diff options
Diffstat (limited to 'challenge-153/sgreen/python')
| -rwxr-xr-x | challenge-153/sgreen/python/ch-1.py | 13 | ||||
| -rwxr-xr-x | challenge-153/sgreen/python/ch-2.py | 17 |
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-153/sgreen/python/ch-1.py b/challenge-153/sgreen/python/ch-1.py new file mode 100755 index 0000000000..453072fc92 --- /dev/null +++ b/challenge-153/sgreen/python/ch-1.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +import math + +def main(): + solutions = [1] + for i in range(1, 10): + solutions.append(solutions[-1]+math.factorial(i)) + + print(*solutions, sep=', ') + +if __name__ == '__main__': + main()
\ No newline at end of file diff --git a/challenge-153/sgreen/python/ch-2.py b/challenge-153/sgreen/python/ch-2.py new file mode 100755 index 0000000000..3937a647c4 --- /dev/null +++ b/challenge-153/sgreen/python/ch-2.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +import math +import sys + +def main(n): + # Check we have an integer >= 0 + num = int(n) + if num < 0: + raise ValueError("You must specify a non-negative integer") + + # Get the sum of factorials of each digit + s = sum(math.factorial(int(x)) for x in n) + print('1' if s == num else 0) + +if __name__ == '__main__': + main(sys.argv[1])
\ No newline at end of file |
