¿Cuál es la forma más eficiente de resolver el problema 27 del Proyecto Euler?

El mejor metodo?

Citando Wikipedia: “Ni siquiera se sabe si existe un polinomio univariado de grado al menos 2 que asuma un número infinito de valores primos; ver conjetura de Bunyakovsky “. (Fórmula para números primos)

Entonces, el mejor método en este caso significaría el que involucra la “fuerza bruta más inteligente” y requiere el menor número de cálculos.

Reduje el número de cálculos haciendo lo siguiente

  1. Como n comienza con 0, b debe ser primo, así que enumere todos los primos por debajo de 1000
  2. La optimización típica para encontrar si un número es primo o no, es decir, verificar solo los números impares y los factores solo hasta raíz cuadrada (número)
  3. Si obtiene (n ^ 2 + an + b) menor o igual que 0, ni siquiera debería verificar si es primo (ya que un algoritmo típico de verificación de primos puede representarlo como primo), es decir, no verificará más n .

Espero que haya ayudado!