diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2010-06-19 21:17:36 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:32:41 +0200 |
| commit | 181182cd17b98acabef4a85f20761f178fd50940 (patch) | |
| tree | 964534c8b0ccf674672047c40c3694324c5b0518 /src | |
| parent | 5f612a43e13bb6cc3e1a199f02d45b187a887794 (diff) | |
project euler solution 26
Diffstat (limited to 'src')
| -rw-r--r-- | src/projecteuler/026.py | 33 |
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 + |
