Problem 58 and update gitignore
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -58,3 +58,4 @@ docs/_build/
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
*.swp
|
||||
|
||||
26
problem-58.py
Normal file
26
problem-58.py
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user