-
Notifications
You must be signed in to change notification settings - Fork 0
/
problem27.py
40 lines (35 loc) · 811 Bytes
/
problem27.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import mylib
def findLongestAForB(b):
low = - b
aa = [x for x in range( low, 1000, 2)]
d = 0
n = 0
c = 0
aaaa = []
while len(aa):
aaa = []
for a in aa:
c = n * (n + a) + b
#print(n, a, b, c)
if c > 1 and mylib.is_prime(c):
aaa.append(a)
if len(aaa):
aaaa = aaa
aa = aaa
n += 1
return [n-1, aaaa]
if __name__ == '__main__':
bb = mylib.find_primes_to_limit(1000, True)
r = {}
for b in bb:
r[b] = findLongestAForB(b)
print(b, r[b][0], r[b][1])
maxC = 0
maxB = 0
maxA = 0
for b in r:
if r[b][0] > maxC:
maxC = r[b][0]
maxB = b
maxA = r[b][1]
print(maxC, maxA, maxB, maxA[0] * maxB)