From 8ab046ea6faea99d53108925bbb70501927184e6 Mon Sep 17 00:00:00 2001 From: kevindkeogh Date: Mon, 2 Jul 2018 19:29:17 -0400 Subject: [PATCH] Problem 58 and update gitignore --- .gitignore | 1 + problem-58.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 problem-58.py diff --git a/.gitignore b/.gitignore index 7f7cccc..e7446d3 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ docs/_build/ # PyBuilder target/ +*.swp diff --git a/problem-58.py b/problem-58.py new file mode 100644 index 0000000..4623b86 --- /dev/null +++ b/problem-58.py @@ -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) + + +