miércoles, 25 de enero de 2023

Concatenación bilateral de cifras (1)

 Extensión a un número primo

En esta entrada modificaremos algunos números mediante la concatenación de cifras a ambos lados de las suyas propias, y de forma simétrica. Como es un tema muy amplio, con muchas posibilidades, iniciaremos el estudio con algunas de ellas, y terminaremos cuando sea claro que se ha perdido interés.

Ya en otra entrada estudiamos la duplicación de unidades manteniendo el mismo tipo de número (ver https://hojaynumeros.blogspot.com/2019/09/sigue-el-mismo-tipo-al-duplicar-las.html)

Conversión en primo mediante una cifra repetida

Si tomamos un número cualquiera, como el 14622, existe la posibilidad de convertirlo en primo adosándole cualquiera de las cifras impares 1, 3, 7 o 9. En este ejemplo tendríamos estas primeras posibilidades con la cifra 1:

1146221

1111146221111

111111462211111

1111111111111111111146221111111111111111111

Estos cuatro números son primos.

En este caso no hemos descubierto una prolongación a primo con las cifras 3 o 9. La razón es que 14622 es múltiplo de 3, y al adosarle la cifra 3 o la 9 no puede ser primo.

Con la cifra 7 hemos intentado hasta 400 concatenaciones, sin que resulte un número primo. Esto nos dice que el proceso es más complejo de lo que pudiera parecer en un principio, pues puede ocurrir que no haya solución a nuestro alcance con una cifra impar concreta.

Como pueden existir comportamientos muy distintos con las cuatro cifras 1, 3, 5 y 7, sería útil diseñar una función con dos parámetros, uno el número que deseemos prolongar y otro la cifra que adosemos. Para Excel podría valer esta:

Function extenprimo$(n, c)

Dim i, j, k, p, m

Dim s$

s = ""

If esprimo(n) Then extenprimo = Str$(n): Exit Function

m = n

For i = 1 To 12

p = numcifras(m)

m = 10 ^ (p + 1) * c + 10 * m + c ‘Adosa cifras bilateralmente

If esprimo(m) Then s = s + "#" + Str$(m)

Next i

If s = "" Then s = "NO"

extenprimo = s

End Function

 

Esta función devuelve una cadena de texto con todas las soluciones posibles. Los parámetros son, el número n y la cifra c, y el resultado es el mismo número si es primo, un “NO” si no se encuentra solución o una lista de soluciones encontradas.

Aquí tienes ejemplos de estos casos:

Un gran problema del uso de la hoja de cálculo es que a partir de unos valores pasa los resultados a notación científica, con lo que se pierden cifras y se anula la utilidad del proceso. Por eso, en la función, solo se llega a doce cifras.

La solución a esto es cambiar a programas o lenguajes que usen todas las cifras posibles, pero entonces el fallo puede estar en la detección de primos. Por ejemplo, PARI, a partir de 2^64, sustituye la función isprime por ispseudoprime, que para otras tareas puede valer, pero en esta introduce una falta de seguridad en la finalización del proceso. Consecuencia de esto es que nos tendremos que mover con objetivos lúdicos, y no teóricos. Lo que afirmemos será siempre una conjetura, sin valor teórico.

La traducción de la función a PARI puede ser:

exten(n,c)={my(i,p,k=0,m=n);while(k==0&&i<200,p=#digits(m);m = 10 ^ (p + 1) * c + 10 * m + c;if(ispseudoprime(m),k=m);i=+1);k}

Aquí llegamos a 200 cifras, pero podrían ser más, siempre que usemos ispseudoprime.

Si nuestro interés estuviera en la detección del menor primo, estos inconvenientes no serían tan graves. Esto es lo que hemos introducido en PARI, que detiene el proceso cuando detecta un primo, al que nombramos como E(N). También se puede parar el proceso en Excel.

Al detener el proceso en la primera solución, podremos asignar a cada número un índice K(N) que indique cuantas concatenaciones ha necesitado para llegar a un primo.

Aquí tienes un ejemplo de estos conceptos, con la cifra 1:

Aparecerá un -1 cuando la función no sea capaz de detectar un primo, lo que ocurre en 134, 136, 138 y 140. Obtendremos un 0 si el número ya es primo, y el número de concatenaciones necesarias en el caso de que sí exista solución, como en 132 y 133.

Algoritmo

Una pequeña modificación en las funciones anteriores nos dará fácilmente la función K. En hoja de cálculo puede ser esta:

Function extenprimo(n, c)

Dim i, k, p, m, s

 

s = 0: k = 0

If esprimo(n) Then extenprimo = 0: Exit Function

m = n

i = 1

While i <= 12 And k = 0

p = numcifras(m)

m = 10 ^ (p + 1) * c + 10 * m + c

s = s + 1

If esprimo(m) Then k = 1

i = i + 1

Wend

If k = 0 Then s = -1

extenprimo = s

End Function

 

Si se ha entendido la primera versión, esta no presentará dificultad. Devuelve -1, 0 o un entero positivo según la tabla de más arriba. La hemos reproducido en Excel para cotejar los valores:



Como curiosidad, en la siguiente tabla figuran las frecuencias de los valores de K(N) para los mil primeros números.



La frecuencia más alta corresponde a la prolongación con un solo 1, y la frecuencia 1 es la del número 24, cuya prolongación mínima es 1111111241111111. Lo hemos dado como ejemplo.

En la siguiente tabla comparamos las estadísticas para las cuatro cifras 1, 3, 7 y 9.


Es fácil descubrir en ella la constancia del valor 0, ya que corresponde a los primos y estos no cambian, son 168. También se entiende que las cifras 3 y 9 presentan menos casos, por el problema ya explicado de los múltiplos de 3. Por último, de los que admiten extensiones a primo los más frecuentes son los que solo admiten una.

jueves, 12 de enero de 2023

Semiprimos de la forma n^2+k

 Hay semiprimos que son cuadrados, como 4=2*2 o 9=3*3, pero existen muchos que no lo son, pero que se acercan a uno de ellos. Hoy buscaremos estos semiprimos, intentando, de forma simultánea buscar o descubrir algunas de sus propiedades.

Tipo n2+1

Comenzaremos con unos que ya están publicados, los de tipo n2+1, con lo que practicaremos de cara a los otros casos. Son estos:

A144255              Semiprimes of the form n^2+1.                

10, 26, 65, 82, 122, 145, 226, 362, 485, 626, 785, 842, 901, 1157, 1226, 1522, 1765, 1937, 2026, 2117, 2305, 2402, 2501, 2602, 2705, 3365, 3482, 3601, 3722, 3845, 4097, 4226, 4762, 5042, 5777, 6085, 6242, 6401, 7226, 7397, 7745, 8465, 9026, 9217

(http://oeis.org/A144255)

Al no tener ninguna prisa en la búsqueda, practicaremos varias técnicas.

Buscador de Naturales

En estas semanas estamos ampliando las prestaciones de nuestro Buscador, que tiene décadas de vida y le viene bien un repaso. Es descargable desde http://www.hojamat.es/sindecimales/divisibilidad/herramientas/herrdiv.htm#buscador

Para encontrar el listado anterior basta con exigir que el número sea semiprimo y que su anterior sea cuadrado. Lo logramos así:

 


La exigencia de ser semiprimo es directa, por lo que solo escribimos SEMIPRIMO, pero la otra se refiere a N-1, y eso supone usar la partícula ES. La tercera condición produce la descomposición factorial de los números encontrados, que es claramente propia de un semiprimo:

Obtenemos los primeros términos copiados más arriba.


Con una función de Excel

En este blog usamos a menudo la función ESCUAD para averiguar si un número es cuadrado y ESSEMIPRIMO para detectar los semiprimos. Basta unirlos convenientemente con la partícula AND:

ESSEMIPRIMO(N) AND ESCUAD(N-1)

Con este criterio y un bucle de búsqueda logramos un resultado similar al anterior:

En la tabla comprobamos que N-1 es cuadrado y N es semiprimo.

 

Con el lenguaje PARI

Podemos usar esta función, a la que hemos añadido un bucle de búsqueda:

es(i)={bigomega(i)==2&&issquare(i-1)}

for(i=2,1000,if(es(i),print1(i,", ")))

Escrita en la web de PARI (https://pari.math.u-bordeaux.fr/gp.html) produce el mismo resultado:

A partir de ahora acudiremos a estas tres herramientas, pero dando menos detalles.

 

Propiedades de estos números

Iwaniec probó que existen infinitos números de este tipo.

Es claro que n2+1 no puede ser cuadrado, luego sus factores serán distintos, y el más pequeño será menor que n. A esos factores se les pueden aplicar algunas ideas contenidas en una entrada reciente de este blog 

(ver http://hojaynumeros.blogspot.com/2022/10/regresos-5-un-cuadrado-y-una-unidad-1.html)

En efecto, al ser n2+1 suma de dos cuadrados, sus factores serán el 2 o del tipo 4k+1.

Un cálculo ilustrativo es el de la media geométrica de los dos factores, que, evidentemente, se situará cercana al valor de n. Esta media será la raíz cuadrada del número. Su discrepancia con la media aritmética medirá el nivel de desigualdad entre los dos factores del número semiprimo:

De la misma forma, podemos encontrar semiprimos del tipo n2+2


En este caso los factores no han de ser necesariamente 2 o del tipo 4k+1. Basta comprobarlo en la tabla anterior.

Como curiosidad, estos son los del tipo n2+3:

 Tipo n2-1

Un caso interesante es el de K=-1, es decir, semiprimos del tipo n2-1. En ellos el semiprimo tendrá como factores (n+1)(n-1), o lo que es lo mismo, será producto de dos primos gemelos. Lo puedes comprobar en la siguiente tabla, en la que en la primera columna figuran los semiprimos, en la segunda las raíces de los cuadrados y en la siguiente los primos gemelos con exponente 1:

 

Con esta propiedad figuran estos semiprimos como producto de primos gemelos: en OEIS:

 

A037074              Numbers that are the product of a pair of twin primes.                   

15, 35, 143, 323, 899, 1763, 3599, 5183, 10403, 11663, 19043, 22499, 32399, 36863, 39203, 51983, 57599, 72899, 79523, 97343, 121103, 176399, 186623, 213443, 272483, 324899, 359999, 381923, 412163, 435599, 656099, 675683, 685583

http://oeis.org/A037074

Encontrarlos con nuestras herramientas es fácil:

Buscador de naturales:


No necesita explicación, pues similar al caso anterior. Se distinguen bien los pares de primos gemelos.

Con Excel

Cambiamos la condición a

ESSEMIPRIMO(N) AND ESCUAD(N+1)

En la tabla hemos destacado que la raíz de N+1 es la media aritmética de los dos primos gemelos:

 


Estas propiedades nos garantizan que el conjunto de estos semiprimos es infinito,

Como el par de primos gemelos es siempre del tipo (6k-1, 6k+1), salvo el par (3, 5), los números encontrados tendrán la fórmula (6k)2-1=36k2-1 con lo que n+1 será múltiplo de 36, como es fácil observar en la tabla, que en su tercera columna solo contiene múltiplos de 6, salvo el primero.

Si expresamos el número 36k2-1 como 9(2k)2-1 descubriremos que las soluciones presentan resto -1 módulo 9, o lo que es lo mismo, resto 8. Pero con este módulo el resto es equivalente a sumar las cifras eliminando 9, es decir su raíz digital. Por eso en OEIS se destaca:

Todos los semiprimos encontrados, salvo el primero, poseen raíz digital 8.

Por ejemplo, en 5183 tenemos 5+1+8+3=17 y 1+7=8.

Puedes repasar la raíz digital en https://en.wikipedia.org/wiki/Digital_root

Al ser las funciones PHI  y SIGMA multiplicativas, y ser PHI(p)=p-1 y SIGMA(p)=p+1 en los números primos, si los aplicamos a este caso del producto N=p(p+2) de dos primos gemelos, obtendremos:

PHI(N)=(p-1)(p+2-1)=(p-1)(p+1) SIGMA(N)=(p+1)(p+2+1)=(p+1)(p+3)

La diferencia entre ambas será (p+1)*4=(p+1+p+1)*2=2*(p+p+2),es decir el doble de la suma de los dos primos gemelos. Lo verás en esta tabla:

Resumiendo:

En un producto de primos gemelos, la diferencia entre su número de divisores y el de coprimos menores que él es la suma de los dos primos.

Con estas ideas ya puedes experimentar con otros valores de K, como 4, 9, -4, -9 y otros. Lo dejamos abierto