diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-20 08:12:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-20 08:12:22 +0000 |
| commit | 2826e59686648edf5be0906de1c9470978a98187 (patch) | |
| tree | e4905617e0379586c82b78eb54079ced72e4695c /challenge-139/sgreen/python | |
| parent | ea83790fdf3c76091e38faaf27cade5240780104 (diff) | |
| parent | caba8c35b04f4f90f507b9ae100b8e1aadd4b1dd (diff) | |
| download | perlweeklychallenge-club-2826e59686648edf5be0906de1c9470978a98187.tar.gz perlweeklychallenge-club-2826e59686648edf5be0906de1c9470978a98187.tar.bz2 perlweeklychallenge-club-2826e59686648edf5be0906de1c9470978a98187.zip | |
Merge pull request #5250 from simongreen-net/swg-139
sgreen solutions to challenge 139
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() |
