- #1
- 2,169
- 190
Homework Statement
https://projecteuler.net/problem=58
Homework Equations
The Attempt at a Solution
Python:
def prime(N):
if N == 1:
return False
y = int(N**0.5)
for i in range(2,y+1):
if N%i == 0:
return False
return True
def finder(N):
L = len(N)
count = 0
for i in N:
if prime(i) == True:
count += 1
return count
J = 13296
D1 = [(2*n+1)**2 for n in range(1,J)] #diagonal 1
D2 = [4*n**2+1 for n in range(1,J)] #diagonal 2
D3 = [4*n**2+2*n+1 for n in range(1,J)] #diagonal 3
D4 = [(4*n**2)-(2*n)+1 for n in range(1,J)] #diagonal 4
f = finder(D1) + finder(D2) + finder(D3) + finder(D4) #sum of primes in the diagonals
d = f/((J-1)*4+1) #sum of primes divided by length of the diagonals
if d < 0.10: #percent thing
print(d) #the percantage
print((J-1)*2+1) #side length of the square
Well I know this is not a great solution because I tried to find it with trial and error method.
At trial 13296 I should have the correct result but it seems wrong I don't know why
İf you put J = 4 you ll get the result as the question does
Last edited by a moderator: