From 181182cd17b98acabef4a85f20761f178fd50940 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sat, 19 Jun 2010 21:17:36 +0200 Subject: project euler solution 26 --- src/projecteuler/026.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/projecteuler/026.py 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 + -- cgit v1.2.3