aboutsummaryrefslogtreecommitdiff
path: root/challenge-139/sgreen/python/ch-2.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-139/sgreen/python/ch-2.py')
-rwxr-xr-xchallenge-139/sgreen/python/ch-2.py43
1 files changed, 43 insertions, 0 deletions
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()