Mostrando entradas con la etiqueta Divisibilidad. Mostrar todas las entradas
Mostrando entradas con la etiqueta Divisibilidad. Mostrar todas las entradas

lunes, 22 de diciembre de 2025

Divisorial

Llamaremos divisorial de un número al producto de sus divisores, (según OEIS WIKI, sin revisar). Su cálculo es muy sencillo, porque los divisores de N se presentan por pares cuyo producto es N. Por ejemplo, en 45 se da que 45*1=15*3=9*5=45. El producto total, o divisorial, será 45^3=91125.

Si TAU(N) es el número de sus divisores, se tendrá que el número de pares será TAU(N)/2 si TAU es par y (TAU(N)+1)/2 si es impar, porque este último caso se dará en los cuadrados, y la RAIZ(N) se contaría repetida. Por ejemplo, el divisorial de 36 será 36*18*12*9*6*4*3*2*1=10077696, pero si lo ordenamos por pares, la raíz cuadrada estaría repetida:


Nos resultaría un producto seis veces mayor. Habría que suprimir el 6 sobrante, con lo que resultaría ese 6 multiplicado por los pares restantes, que forman TAU(N). Tendríamos 6*36*36*36*36=369/2

Por tanto, en el caso par y en el caso impar la fórmula adecuada es

Hemos seguido la nomenclatura usual de π(n) para el divisorial.

En el caso de 45 nos daría 456/2=453=91125

En el caso de 36 existen 9 divisores, luego tendríamos 369/2= 10077696.

Los resultados del divisorial no se repiten, es decir, a números distintos les corresponden divisoriales distintos (ver la demostración de T.D. Noe en

http://www.sspectra.com/math/DivisorProduct.pdf)

Encontrar π(n) sin usar la función TAU es muy simple. Basta recorrer los números menores o iguales a N y multiplicar tan solo los divisores. En la práctica solo hay que llegar a N/2 y después multiplicar por N. En Visual Basic puede quedar así:

Function proddivi(n)

Dim p, i

 

p = n ‘Comenzamos el producto con n

For i = 2 To n / 2

If n / i = n \ i Then p = p * I ‘Si es divisor, se multiplica

Next i

proddivi = p

End Function

Con esta función podemos crear la primera tabla de divisoriales:

 


Están publicados en https://oeis.org/A007955

En el lenguaje PARI está implementada la función TAU con el nombre de numdiv, luego el divisorial se puede encontrar con

π(n)=n^(numdiv(n)/2)

En la imagen se ha pedido el valor de los 50 primeros:

 Texto

El contenido generado por IA puede ser incorrecto.

En color azul figura la instrucción en PARI usada.

Casos particulares

N es primo

En ese caso TAU(N)=2, luego π(n)=n2/2=n

Es lógico, porque el único producto de divisores es 1*n y el divisorial de n coincide con el número n

Potencia de primo

Si N=pk, TAU(N)=k+1, porque los divisores serán (1, p, p2, … pk) , luego el divisorial será p(k+1)/2.

Entre ellos, los divisoriales de cubos de primos serán cuadrados.

Semiprimo no cuadrado

Si N=p*q, con p≠q, poseerá cuatro divisores, 1, p, q y pq, luego TAU(N)=4 y su producto de divisores π(n)=n4/2=n2. Lo vemos en el listado anterior con 6 y 10.

Resultado cuadrado

Si el divisorial es una potencia, encontraremos muchos de ellos que sean cuadrados. Ya hemos visto que aparecen en los cubos de primos y en semiprimos no cuadrados, pero existen más. Estos son los primeros:

 

Tabla

El contenido generado por IA puede ser incorrecto.

Entre ellos están los esfénicos, números del tipo p*q*r con los tres primos distintos. En ellos los divisores son: 1, p, q, r, pq, pr, rq y pqr, es decir ocho divisores, luego el producto de divisores será una potencia cuarta, también cuadrada.

En  https://oeis.org/A048943 puedes consultar un razonamiento más completo.

Resultado cúbico

Es fácil razonar que las quintas potencias de un primo poseen un divisorial que será un cubo, ya que π(n)=n(5+1)/2=n3

También producen un cubo los números, como el 12, que tienen la forma pq2, pues TAU(n)=(1+1)(2+1)=6, luego π(n)=n6/2=n3

Estos son los primeros:

Tabla

El contenido generado por IA puede ser incorrecto.

Puedes buscar más casos particulares, que no serán complicados de razonar.

lunes, 3 de noviembre de 2025

Primos pitagóricos

Después de dos entradas publicadas sobre ternas pitagóricas, es útil completarlas con las hipotenusas más simples, que son los primos pitagóricos, es decir, los del tipo 4K+1. Estos primos se caracterizan por poder ser expresados mediante una suma de dos cuadrados de forma única. Este tema ha aparecido tanto en mis publicaciones que lo doy por sabido.

Por ejemplo, 13=4*3+1=22+32

 

Relacionando estos números con el estudio reciente sobre el número de ternas pitagóricas de las que un número es hipotenusa, podemos afirmar que estos primos sólo pueden ser hipotenusa de una sola terna. Así, el ejemplo del 13 se traduce en la terna única 132=122+52.

 

Los primeros primos pitagóricos están publicados en https://oeis.org/A002144, y son sencillos de identificar. La terna que producen es siempre primitiva, pues su carácter de primos impide su simplificación.


Según lo aprendido en las anteriores entradas, sus potencias serán hipotenusas de tantas ternas como indique su exponente. Por ejemplo, 13^5=371293 lo es de las cinco siguientes:

371293=31072+3712802=1399322+3439152=1428052+3427322=1456682+3415252=2614432+2636402

 

Propiedades

 

Una propiedad interesante de estos primos es que poseen un resto cuadrático igual a -1. Su justificación requiere teoría de nivel algo superior al que se mantiene en este blog, pero podemos efectuar comprobaciones. Por ejemplo, el primo 29=7*4+1 presenta el resto 28, que equivale a -1. En la siguiente captura de pantalla se observa su presencia:

 

 


El cuadrado de estos primos será promedio de otros cuadrados. Con lo aprendido en las dos últimas entradas es fácil comprobarlo:

Tomamos N=2(4K+1)2, que según Gauss se podrá descomponer en suma de cuadrados dos veces. Una de ellas es trivial, pues sería (4K+1)2+(4K+1)2, pero la otra convertirá a N2 en promedio de dos cuadrados.

 

(Ver https://hojaynumeros.blogspot.com/2024/03/potencias-equidistantes-de-cuadrados.html)

 

Por ejemplo, 73 es primo del tipo 4K+1, luego su cuadrado deberá ser promedio de dos cuadrados. Descomponemos 2*732 en cuadrados:

 

2*732=72+1032=732+732

 

De ahí se deduce la propiedad:

 

732=(72+1032)/2

 

Estos valores se pueden lograr también con la función ENTREDOS contenida en el enlace de más arriba.

 

También estos primos, sin elevar al cuadrado, son promedios de dos cuadrados. Basta recordar que si p es del tipo 4K+1, 2p sólo se descompone en una suma de cuadrados, como ocurre con el número 41:

 

41*2=82=12+92, luego 41=(12+92)/2

412*2=3362=312+492, luego 412=(312+492)/2

 

Tanto los primos pitagóricos como sus cuadrados son promedios de otros cuadrados.

 

Pasamos a la posibilidad de estos números de actuar como catetos.

 

Los primos pitagóricos como catetos de una terna

 

Este tema ya está resuelto anteriormente, pues si p es primo impar, su cuadrado se puede descomponer en dos factores de la misma paridad impar, aparte del trivial p*p, como serían p2 y 1. Por tanto, se cumple:


p2=((p2+1)/2)2-((p2-1)/2)2

Por ejemplo: 

 

732=26652-26642

  

Es fácil ver que el primo pitagórico es la raíz cuadrada de la suma de los catetos, que siempre es un cuadrado perfecto.

 

También, todo número del tipo (p2+1)/2 es posible hipotenusa que sea una unidad mayor que un cateto, aunque p no sea primo.

martes, 9 de septiembre de 2025

Antidivisores

Todo número entero positivo N (he excluido los negativos porque no tienen interés en este estudio) posee divisores. Si es primo, serán el 1 y él mismo, y, en otro caso, presentará todo un conjunto de divisores (ver mi entrada de blog

https://hojaynumeros.blogspot.com/2011/11/el-conjunto-de-los-divisores.html).

Siempre existirán números enteros positivos menores que N que no sean divisores de él (salvo el caso de 2). A estos números les llamamos no divisores de N, como sería, por ejemplo, N-1.

Podemos considerar un divisor de N como un número K tal que al conjunto K, 2K, 3K, 4K, ... pertenece N. Esto parece trivial, pero si aplicamos la idea a un no divisor, esa sucesión sobrepasará N, y alguno de los múltiplos de K será el más cercano a N. Unos quedarán muy “cerca” de N, como, por ejemplo, si N=21, su no divisor 5, acercará un múltiplo a una unidad de él, ya que 21=4*5+1.

Un antidivisor K de N se define como el no divisor que se “acerca” a N dejando intervalos iguales entre N y dos múltiplos consecutivos de K. Por ejemplo, 10 es un antidivisor de 55, porque no es divisor de él, pero 55 equidista de dos de sus múltiplos: 50<55<60, con 55-50=60-55. Una ligera reflexión nos indica que si K es impar, no es posible la equidistancia, y se permite una diferencia de 1.

La aproximación intuitiva anterior se puede concretar en la siguiente definición, que se aplica de forma distinta si K es par o si es impar:

Si K es par y no divisor de N, será antidivisor si N MOD K=K/2

Si K es impar, diremos que es antidivisor de N si N MOD K=(K±1)/2

Por esta simetría en los dos intervalos, también se llama no divisores insesgados a los antidivisores.

Unos ejemplos: 14 es antidivisor de 147, porque los múltiplos de 14 140 y 154 rodean a 147 con 7 unidades a cada lado: 147-14*10=14*11-147. Más directo, 147 MOD 14=14/2

El número impar 7 es antidivisor de 25, porque lo rodea con un intervalo de 3 y otro de 4: 25-7*3=4 y 7*4-25=3. También; 25 MOD 7 = INT(7+1).


Los antidivisores como divisores

Las ideas anteriores se pueden expresar mediante otras expresiones.

En el caso par podemos considerar que N=K(m+1/2), siendo m un número natural apropiado. Multiplicando por 2, obtenemos: 2N=K(2m+1), lo que nos lleva a que K no es divisor de N pero sí de su doble. En el ejemplo de 10 como antidivisor de 55 obtendríamos que 2*55=10*11, con lo que 10 divide a 2*55

En el caso impar, N=Km+(K+1)/2 o bien N=Km+(K-1)/2, lo que nos lleva a que 2N-1=K(2m+1) o bien 2N+1=K(2m+1). Por ejemplo, en el caso de 7 como antidivisor de 25, quedaría 2*25-1=7*7, lo que confirma a 7 como divisor de 2*25-1. Si tomáramos 17 como antidivisor de 25 (ya que 25 está comprendido entre 17*1 y 17*2=34 con las diferencias 25-17=8 y 34-25=9), este sería divisor de 2*25+1=51=17*3.

Los párrafos anteriores nos permiten definir los antidivisores de otra forma:

Un número K es antidivisor de N cuando no es divisor del mismo, pero sí lo es de 2N o 2N+1 o 2N-1.

Es otra de definición sin acudir a la Aritmética Modular.

Vemos un ejemplo: más adelante sabremos que los antidivisores de 13 son 2, 3, 5 y 9. Es fácil encontrarlos, pues recorremos los no divisores de 13 y nos quedamos con los que dividen a 26, o 27 o 25: 2 divide a 26, 3 divide a 27, 5 a 25 y 9 a 27. Hemos desechado el 4, porque no divide a ninguno de los tres, y también al 6, al 7 y a todos los que faltan.


Un sencillo criterio

Según lo anterior, bastará comprobar que K no divide a N, pero sí a uno de los tres siguientes, 2N, 2N+1 o 2N-1.

Con este criterio es fácil encontrar los antidivisores de un número.

Si usamos la función MOD, para encontrar restos, el criterio se puede expresar así:

 n Mod k <> 0 And ((2 * n) Mod k = 0 Or (2 * n + 1) Mod k = 0 Or (2 * n - 1) Mod k = 0)

Si se desea integrarlo en una celda de hoja de cálculo, bastará usar la función RESIDUO.

Este criterio permite encontrar todos los antidivisores de un número mediante esta función tipo string:

Function antidivisores$(n)

Dim i, m

Dim s$

 

s$ = " "’ Contenedor de antidivisores

m = 0 ‘Contador

For i = 2 To n – 1 ‘Rango de antidivisores

If n Mod i <> 0 And ((2 * n) Mod i = 0 Or (2 * n + 1) Mod i = 0 Or (2 * n - 1) Mod i = 0) Then ‘Criterio

m = m + 1

s = s + Str$(i) ‘Un nuevo antidivisor

End If

Next i

s = ajusta(m) + ": " + s ‘Se añade contador

antidivisores = s

End Function

 

Podemos aplicar esta función a cualquier número entero positivo, y el primer número será el contador. Por ejemplo, aplicado al 63 nos devuelve

 

ANTIDIVISORES(63)= 7:   2 5 6 14 18 25 42


Indica que posee siete antidivisores y añade su listado. Puedes comprobarlo en OEIS, con la búsqueda “anti-divisors”.

 

Con esta herramienta podemos buscar números con un número determinado de antidivisores. Bastará leer los primeros dígitos. Vemos unos ejemplos:

 

Con un antidivisor:

TablaEl contenido generado por IA puede ser incorrecto.

Resultan muy escasos, porque siempre se esperan más antidivisores. Puedes consultar https://oeis.org/A066466 para más detalles sobre estos números. El siguiente es 393216. Se les puede llamar antiprimos.

 

Con dos

 

Tampoco son frecuentes. Los primeros son:

 

TablaEl contenido generado por IA puede ser incorrecto.

Puedes consultar https://oeis.org/A066467


 

El mayor antidivior

 

Ya sabemos que el antidivisor no debe ser divisor de N, pero sí de uno de los tres 2N, 2N+1 o 2N+2. Para que D sea el mayor antidivisor, el cociente respecto a uno de los tres deberá ser pequeño. El mejor candidato es el 3. Así, si D divide a 2N, su valor máximo será 2N/3. Si no divide a 2N, lo hará a 2N+1 o 2N+2, con lo que podemos afirmar que

 

El mayor antidivisor de un número N se situará en las cercanías de 2N/3.

 

Si modificamos la función ANTIDIVISORES, es sencillo encontrar el mayor antidivisor de un número. Podría ser esta:

 

Function max_antidivisor(n)

Dim i, m

 

m = 1

For i = 2 To n - 1

If n Mod i <> 0 And ((2 * n) Mod i = 0 Or (2 * n + 1) Mod i = 0 Or (2 * n - 1) Mod i = 0) Then m = i

Next i

max_antidivisor = m

End Function

 

Se puede comprobar formando una tabla de cocientes D/N. En la siguiente tabla se ha recorrido un rango de número elegido al azar:

 

 

Todos los cocientes son cercanos a 2N/3.


 

¿De qué números soy antidivisor?

 

Podemos plantearnos una búsqueda inversa, y es que dado un número entero positivo K, es posible construir una lista de los números de los que es antidivisor. La solución es trivial:


Si K es par, será antidivisor de aquellos números N que cumplan N=K(m+1/2), y si es impar, de los que cumplan, N=Km+(K+1)/2 o bien N=Km+(K-1)/2. Esto tiene dos consecuencias sencillas:

 

El conjunto de números con el mismo antidivisor K será una progresión aritmética si K es par, y contendrá elementos consecutivos si es impar. En ambos casos será un conjunto infinito.

 

Por ejemplo:

Para K=8, el conjunto será {12, 20, 28, 36, 44, 52, 60, 68, 76, 84, 92, 100, 108, 116, 124, 132, 140, 148, 156, …}

 

Para K=7, tendremos {10, 11, 17, 18, 24, 25, 31, 32, 38, 39, 45, 46, 52, 53, 59, 60, 66, 67, 73, 74, 80, 81, 87, 88, 94, 95, 101, 102}


 Funciones sobre el conjunto de antidivisores

Al igual que con divisores, se pueden definir sumas y cuentas sobre el conjunto de antidivisores, que serían A_SIGMA, A_TAU, A_SIGMA2, …

Por ejemplo, la suma de antidivisores se podría programar así:

Function a_sigma(n)

Dim i, m

 

 

m = 0 'sumador

For i = 2 To n - 1 'Rango de antidivisores

If n Mod i <> 0 And ((2 * n) Mod i = 0 Or (2 * n + 1) Mod i = 0 Or (2 * n - 1) Mod i = 0) Then m = m + i

Next i

a_sigma = m

End Function

 Así, a_sigma(63)=112

A partir de esa función se pueden definir números antiperfectos, como son 5, 8, 41, 56, 946.

De igual forma se definiría a_tau y otras.

 

lunes, 5 de mayo de 2025

Formas de acceder a un par de primos gemelos

Uno de los conceptos más populares en Teoría de números es el de primos gemelos. Generalmente se consideran de ese tipo dos números primos impares que se diferencian en dos unidades, como (5, 7) o (17, 19). La forma más sencilla de llegar a ellos, a partir del  (5, 7), es buscar pares del tipo (6n-1, 6n+1), porque son los únicos en los que ambos elementos pueden ser primos, salvo (3, 5). En esta entrada buscaremos otras rutas en las que podemos encontrar esos pares de primos de forma más o menos casual.

Búsqueda directa con 6n-1 y 6n+1

Si deseamos encontrar primos gemelos en un rango dado, bastará recorrer los múltiplos de 6 y averiguar si sus números vecinos son ambos primos. Es algo muy sencillo, y si se incluye aquí es por comenzar con lo más directo. Con esta rutina en VBasic de Excel podemos encontrar los pares de primos gemelos incluidos en cualquier rango y en la primera hoja, si escribimos los extremos de ese rango en las celdas J1 y J2 respectivamente:

 

Sub gemelos()

Dim n, fila, a, b

Dim r$

 

a = ActiveWorkbook.Sheets(1).Cells(1, 10).Value ‘Se lee el rango

b = ActiveWorkbook.Sheets(1).Cells(2, 10).Value

fila = 3 ‘Fila de inicio

n = a - a Mod 6+6 ‘Se busca un múltiplo de 6

Do While n <= b ‘Se avanza entre los múltiplos de 6

If esprimo(n - 1) And esprimo(n + 1) Then ‘Los números vecinos son primos

r = Str$(n - 1) + ", " + Str$(n + 1) ‘Se imprime una solución

fila = fila + 1 ‘Siguiente fila

ActiveWorkbook.Sheets(1).Cells(fila, 10).Value = r

End If

n = n + 6 ‘Siguiente múltiplo de 6 

Loop

End Sub

En la siguiente imagen podemos observar los pares de primos gemelos entre 3000000 y 3001000. El proceso es muy rápido, aunque el rango abarca mil números.

Con esto se da por terminado este tipo de búsqueda directa. Vemos otros caminos más enrevesados.

A través de un múltiplo de un primo

Existen muchas sucesiones en OEIS (Enciclopedia On-Line de las Secuencias de Números Enteros) en las que unos números primos, multiplicados por un múltiplo de 6 dan lugar a un par de primos gemelos. Es una búsqueda que relaciona tres números primos y algo más compleja que la anterior.

Por ejemplo, vemos los primeros pares engendrados por el número primo 13 y los múltiplos de 48*13:

Interfaz de usuario gráfica, Aplicación, TablaEl contenido generado por IA puede ser incorrecto.

Una variante sería usar una expresión sobre un número primo, como por ejemplo, todos los pares de números primos gemelos formados a partir de la expresión p3-p, donde p es un número primo. Cambiando un poco la rutina se consiguen:

TablaEl contenido generado por IA puede ser incorrecto.

Los valores de esos primos, 2, 11, 31, …están publicados en https://oeis.org/A158295

Podríamos inventar muchas variantes de este tipo, pero no aportarían mucho.

 

Mediante una concatenación

Aquí pasamos a otras curiosidades. Por ejemplo, comenzamos con un caso que ya está publicado, que consiste en concatenar 2n con 2n-1 y también 2n con 2n+1, y averiguar si ambas concatenaciones constituyen un par de primos gemelos. Como el proceso es rápido, no nos preocuparemos de que el número intermedio sea múltiplo de 6.

La siguiente sencilla función usa la concatenación de Excel, que consiste simplemente en el uso del signo “+” entre cadenas de texto:

Function concat_gem$(n)

Dim a, b

Dim s$

 

s = ""

‘Las siguientes líneas concatenan las expresiones numéricas en modo texto, para después volver a modo numérico con la función VAL. Esas líneas se cambiarán cuando se desee otra concatenación.

a = Val(Str$(2 * n) + Str$(2 * n - 1))

b = Val(Str$(2 * n) + Str$(2 * n + 1))

If esprimo(a) And esprimo(b) Then s = Str$(a) + ", " + Str$(b) Else s = "NO" ‘ Si ambas concatenaciones producen primos gemelos, se comunica mediante la variable s.

concat_gem = s

End Function

 

Con esta función reproducimos la lista publicada en https://oeis.org/A102478

 

Tabla

El contenido generado por IA puede ser incorrecto.

No abarcaríamos aquí las posibilidades de concatenaciones curiosas sobre este tema. La siguiente tabla recoge algunos primos gemelos de cinco cifras provenientes de concatenar un número consigo mismo:

 Tabla

El contenido generado por IA puede ser incorrecto.

Con ello los gemelos se forman con el número, su siguiente y su anterior.

Si usamos el lenguaje PARI podemos intentar este código para el mismo caso, fácilmente adaptable a otros:

concat_gem(n)=my(a,b,v=[0,0]);a=eval(concat(Str(n),Str(n-1)));b=eval(concat(Str(n),Str(n+1)));if(isprime(a)&&isprime(b),v=[a,b];print1(v));v

for(i=1,1000,if(concat_gem(i)<>[0,0],print(" ",i)))

Esta versión nos daría los primeros casos:

Texto

El contenido generado por IA puede ser incorrecto.

Por la forma de programarlo, el valor de N aparece al final.

Podemos seguir jugando. En los siguientes hemos concatenado N con su simétrico en cifras:

Tabla

El contenido generado por IA puede ser incorrecto.

Con estos ejemplos se adivina que quedan muchas posibilidades por explorar en la concatenación, pero serían necesarias otras funciones sobre cifras.

 Intercalando funciones

Podemos buscar una forma de encontrar primos gemelos a partir de N, pero intercalando funciones. Por ejemplo, buscando SIGMA(N)±1:

Tabla

El contenido generado por IA puede ser incorrecto.

Observamos que son abundantes los casos encontrados. Tienes más en https://oeis.org/A072282

Un caso curioso es aquel en el que N es primo, pues entonces SIGMA(N)=N+1, con lo que un posible primo gemelo es el mismo N, como podemos observar en la tabla con 5, 11, 17 y 29. Todos ellos tienen en común que SIGMA es múltiplo de 6.

Si exigimos que N no sea primo, nos quedan

Interfaz de usuario gráfica, Aplicación, Tabla

El contenido generado por IA puede ser incorrecto.

Estos resultados figuran en https://oeis.org/A068017. Es fácil razonar que son aquellos casos en los que SIGMA(N) es múltiplo de 6. Como un valor de SIGMA puede ser compartido por varios números, es lógico que el par (71, 73) aparezca repetido.

 Objetivos dobles

Podríamos pretender encontrar un par de primos gemelos, pero que una expresión creada a partir de ellos también constituyera otro par de primos gemelos. Un ejemplo sería que n+1 y n-1 formaran par y también fueran gemelos n2+5 y n2+7, por ejemplo (buscamos en lo posible centrarnos en múltiplos de 6):

Tabla, Excel

El contenido generado por IA puede ser incorrecto.

Con estos ejemplos nos podemos dar una idea de búsquedas diferentes que se pueden emprender en talleres de Matemáticas.