diff options
| -rw-r--r-- | src/projecteuler/074.py | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/projecteuler/074.py b/src/projecteuler/074.py index d463358..adee894 100644 --- a/src/projecteuler/074.py +++ b/src/projecteuler/074.py @@ -2,8 +2,9 @@ fac = [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880] numbers = [0]*10000000 -for i in xrange(0, 10): - numbers[i] = 1 +numbers[0] = 1 +numbers[1] = 1 +numbers[2] = 1 numbers[145] = 1 numbers[40585] = 1 numbers[169] = 3 @@ -30,17 +31,6 @@ def count(n): chain.append(x) if numbers[x] != 0: break - #if x == 145: - # break - #elif x == 169: - # chain += [363601, 1454] - # break - #elif x == 871: - # chain += [45361] - # break - #elif x == 872: - # chain += [45362] - # break x = next(x) last = numbers[chain[-1]] l = len(chain) @@ -48,12 +38,11 @@ def count(n): c = chain[j] numbers[c] = l - j - 1 + last +c = 0 for i in xrange(10, 1000000): count(i) + if numbers[i] == 60: + c += 1 -#c = 0 -#for j in numbers: -# if j == 60: -# c += 1 -print max(numbers) +print c |
