diff options
Diffstat (limited to 'challenge-139/sgreen/python')
| -rwxr-xr-x | challenge-139/sgreen/python/ch-1.py | 21 | ||||
| -rwxr-xr-x | challenge-139/sgreen/python/ch-2.py | 43 |
2 files changed, 64 insertions, 0 deletions
diff --git a/challenge-139/sgreen/python/ch-1.py b/challenge-139/sgreen/python/ch-1.py new file mode 100755 index 0000000000..6f27eb1b31 --- /dev/null +++ b/challenge-139/sgreen/python/ch-1.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +import sys + + +def main(strings): + # Convert to numbers + nums = [float(x) for x in strings] + sorted = 1 + + for i in range(1, len(nums)): + # If the value is less than the previous, the array is not sorted + if nums[i] < nums[i - 1]: + sorted = 0 + break + + print(f"{sorted}") + + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/challenge-139/sgreen/python/ch-2.py b/challenge-139/sgreen/python/ch-2.py new file mode 100755 index 0000000000..a4023acee6 --- /dev/null +++ b/challenge-139/sgreen/python/ch-2.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python + +import math + + +def is_prime(number): + for i in range(2, int(math.sqrt(number)) + 1): + if number % i == 0: + return False + + return True + + +def long_division(number): + digits = 0 + + r = 10 % number + seen = {r: 1} + + while 1: + digits += 1 + r = (10 * r) % number + if r in seen: + return digits + seen[r] = 1 + + +def main(): + number = 2 + solutions = [] + + while 1: + number += 1 + if is_prime(number) and long_division(number) == number - 1: + solutions.append(number) + if len(solutions) == 5: + break + + print(*solutions, sep=', ') + + +if __name__ == '__main__': + main() |
