Files
project-euler/problem-58.py
2018-07-02 19:29:17 -04:00

27 lines
601 B
Python

from primes import is_prime
diags = [1]
nums = [1]
spiral = 1
primes = []
if __name__ == '__main__':
while True:
spiral += 2
circ = list(range(diags[-1] + 1, spiral**2+1))
stride = int(len(circ) / 4)
corners = [circ[stride*1-1],
circ[stride*2-1],
circ[stride*3-1],
circ[stride*4-1]
]
diags.extend(corners)
primes.extend([num for num in corners if is_prime(num)])
if len(primes) / len(diags) < 0.1:
break
print(len(primes), len(diags), spiral)