summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2010-06-19 21:17:36 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:32:41 +0200
commit181182cd17b98acabef4a85f20761f178fd50940 (patch)
tree964534c8b0ccf674672047c40c3694324c5b0518 /src
parent5f612a43e13bb6cc3e1a199f02d45b187a887794 (diff)
project euler solution 26
Diffstat (limited to 'src')
-rw-r--r--src/projecteuler/026.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/projecteuler/026.py b/src/projecteuler/026.py
new file mode 100644
index 0000000..0ddd85a
--- /dev/null
+++ b/src/projecteuler/026.py
@@ -0,0 +1,33 @@
+
+def get_cycle(d):
+ remainders = []
+ x = 1
+ while x > 0:
+ if x < d:
+ x *= 10
+ continue
+
+ z = x / d
+ x = (x % d) * 10
+ if x in remainders: # cycle detected
+ pos = 0
+ for i in range(len(remainders)):
+ if remainders[i] == x:
+ return len(remainders) - i
+ break
+ remainders += [x]
+
+ return 0 # no cycle
+
+
+max_remainder = 0
+result = 0
+
+for i in range(1, 1000):
+ r = get_cycle(i)
+ if r > max_remainder:
+ max_remainder = r
+ result = i
+
+print result
+