La razón por la que puede utilizar 6k para reducir su búsqueda a 1 de cada 3 números pares se debe a que 6 es un primor (2*3) y cualquier pareja de primos gemelos [tpc] > 6 debe satisfacer las desigualdades
tpc <> +-1 (MOD 2)
tpc <> +-1 (MOD 3)
Dejando sólo una solución (MOD 6)
tpc = 0 (MOD 2) and tpc = 0 (MOD 3)
Lo que significa que tpc = 0 (MOD 6)
Esto puede extenderse más allá de los dos primeros primos, de modo que, por ejemplo, tomando los 3 primeros primos:
El primorial P3# = 2 * 3 * 5 = 30
Cualquier pareja de primos gemelos > 30 debe satisfacer las desigualdades:
tpc <> +-1 (MOD 2)
tpc <> +-1 (MOD 3)
tpc <> +-1 (MOD 5)
Esto significa que tenemos las mismas condiciones que antes pero con la restricción añadida de que tpc = 0,2 o 3 (MOD 5)
Así que tenemos que comprobar 0,6,12,18,24
De los cuales
0 = 0 (MOD 5)
6 = 1 (MOD 5)
12 = 2 (MOD 5)
18 = 3 (MOD 5)
24 = 4 (MOD 5)
Así que sólo 0, 12 y 18 satisfacen la nueva restricción (MOD 30)
Ahora podemos restringir nuestra búsqueda a 30k, 30k+12, 30k+18 cuando busquemos parejas de gemelos por encima de los 30 años (no estoy seguro de cuál es el límite inferior, pero definitivamente no es más alto que esto).
Ahora sólo comprueba 1 de cada 5 (3 de cada 15) números pares en lugar de su actual 1 de cada 3.
Por supuesto, esto puede ampliarse al 4º primor y más allá para mejorar la eficiencia con números más grandes.
0 votos
Que yo sepa, no hay ninguna forma conocida de hacer esto que sea computacionalmente más eficiente que lo que tú llamas barrido numérico general.
1 votos
Probar sólo 6k+1 cuando 6k-1 es un primo es probablemente demasiado obvio :)
0 votos
O probar 6k-1 si el otro es primo
1 votos
Al menos, sabes que es factible en tiempo polinómico, ya que la prueba de primalidad es en sí misma polinómica (usando Algoritmo AKS ). Pero esto no ayuda mucho. También puede echar un vistazo a la Búsqueda de Twin Prime proyecto.
2 votos
"Como sabemos cada número primo...": Cada número primo más de tres .