## 嵇爾的吐槽

#没事画轮子的嵇尔不定期的(W)碎(E)碎(B)念(B)和(L)吐(O)槽(G)

Problem 27 Quadratic primes 2016-10-10 12:05:00

Euler discovered the remarkable quadratic formula:

It turns out that the formula will produce 40 primes for the consecutive integer values $0 \le n \le 39$. However, when $n = 40, 40^2 + 40 + 41 = 40(40 + 1) + 41$ is divisible by 41, and certainly when $n = 41, 41^2 + 41 + 41$ is clearly divisible by 41.

The incredible formula $n^2 - 79n + 1601$ was discovered, which produces 80 primes for the consecutive values $0 \le n \le 79$. The product of the coefficients, −79 and 1601, is −126479.

$n^2 + an + b$, where $% $ and $|b|\le1000$

where $|n|$ is the modulus/absolute value of $n$

e.g. $|11| = 11$ and $|−4| = 4$

Find the product of the coefficients, $a$ and $b$, for the quadratic expression that produces the maximum number of primes for consecutive values of $n$, starting with $n = 0$.

### 第27题 二次“素数生成”多项式”

$n^2 + an + b$, 满足 $% $$|b|\le1000$

import math

def is_Prime(number):
if number < 2:
return False
for x in range(2, int(math.sqrt(number)) + 1):
if number % x == 0:
return False
return True

result_count = 0
result_a = -1000
result_b = -1000
for a in range(-1000, 1000):
for b in range(1, 1000):
count = 0
for x in range(0, 1001):
if is_Prime(x * x + a * x + b):
count += 1
else:
if count > result_count:
result_count = count
result_a = a
result_b = b
print "a = %s, b = %s, count = %s" % (a, b, count)
break
print
print "product = %s" % (result_a * result_b)


1. 暴力破解很无耻
2. 该break时候就应该break