miércoles, 30 de diciembre de 2020

Resumen de cálculos sobre el año 2021

Esta entrada recoge las propiedades del nuevo año 2021 que hemos publicado en Twitter (@connumeros). Lo solemos incluir en el blog para las personas que no las sigan en esa red social.

 1

Como todos los años, simultaneo algunos cálculos de diciembre con propiedades del próximo año 2021. Comienzo con propiedades simples:

2021 es el producto de dos números primos consecutivos:

2021=43×47

Por tanto, es un número semiprimo libre de cuadrados

 

2021 es un número semiprimo, porque es producto de dos primos, 43 y 47. También son semiprimos los números resultantes de suprimirle una cifra cualquiera:

021=3×7

221=13×17

201=3×67

 

2

 

Si escribimos 2021=43×47 como 2021=(45-2)(45+2) obtendremos una diferencia de cuadrados:

2021=45^2-2^2

 

2021 se genera con el popular polinomio n^2+n+1, que produce valores numéricos primos hasta n=39. En el caso de 2021 es n=44, ya que 2021=44^2+44+41, y, evidentemente, no es primo.

 

3

Es obligado publicar los desarrollos de tipo monocifra para el 2021, pues ya lo he convertido en tradición anual:

Del 1 al 4:

2021=1111+1111-111-111+11+11-1

2021=2222-222+22-2/2

2021=(333+3+3/3)(3+3)-3/3

2021=(444+44+4×4)×4+4+4/4

 

Monocifras del 5 al 9 para el 2021:

2021=(5×5×5+5/5)(5+5+5+5/5)+5

2021=(666+6)(6+6+6)/6+6-6/6

2021=777+777+7×77-77+7-(7+7)/7

2021=88×(8+8+8)-88-88/8+8

2021=999+999+(9+99+99)/9

 

4

En los cálculos diarios no suelo usar mucho las cifras ascendentes y descendentes. Para el 2021, sí:

Ascendentes del 1 al 11

2021=(1+2)(3+4+567+89+10+1)-1

 

Descendentes del 11 al 1

2021=(11+1+0+9)(87+6+5)-4-32-1

 

Más subidas y bajadas de cifras para 2021:

Subida y bajada entre 1 y 9:

2021=(1+2+34+5+6+7)(8+9+8+7+6)-5-43-21

2021=98×(7+6+5+4+3+2+1)-(1+2+3+4+5+6)-78×9

 

5

Productos con subida y bajada por ser semiprimo 2021:

2021=(123+4-5-67-8)×(9+8+7+65-43-2-1)

2021=(123+45-6-7×(8+9))×(8+76+54+3)/(2+1)

2021=((1+23+4)×5-6-78-9)×(8+7+65-4-32-1)

 

Y siete factoriales:

2021=(720+(120+24)×2+2)×2+1

 

6

2021 también se autogenera con sus cifras:

2021=2021+2+0-2×1

2021=2021+2×0×2×1

 

En esta serie para el 2021 no pueden faltar los pandigitales:

2021=(39+4×(6/(2+0!)-1))×(5×8+7)

2021=1+2×5×(97+4)×6/3+8×0

2021=6×(329+8)-1×(4+5-7-0!)

9

A partir de hoy veremos muchas sumas generando 2021

2021 se genera con dos sumas de cuadrados con diferencias simétricas 1 y 25:

2021=(15-1)^2+15^2+(15+25)^2

2021=(31-25)^2+31^2+(31+1)^2

 

Nueve cubos enteros suman 2021:

2021=1^3+1^3+2^3+3^3+4^3+4^3+4^3+4^3+12^3

 

También suma 2021 esta suma simétrica de siete cubos:

2021=1^3+1^3+7^3+11^3+7^3+1^3+1^3

 

Los siete cubos se pueden reducir a seis:

2021=2^3+5^3+5^3+6^3+6^3+11^3

 

10

Tres sumas algebraicas de potencias con exponentes decrecientes generan 2021. Podían ser más.

2021=5^5+5^4-12^3-1^2

2021=4^6+1^4-13^3+11^2

2021=-1^7+5^5+5^4-12^3

 

2021 es suma de tres cuadrados de 17 formas diferentes. Tenemos que seleccionar tres:

2021=16^2+26^2+33^2

2021=17^2+24^2+34^2

2021=22^2+24^2+31^2

 

2021 es suma de cuatro cuadrados de 39 formas diferentes. Seleccionamos algunas.

2021=14^2+15^2+24^2+32^2

2021=14^2+21^2+22^2+30^2

2021=16^2+17^2+24^2+30^2

2021=18^2+22^2+22^2+27^2

 

11

Muchos conjuntos de dígitos simétricos, pero no palindrómicos, pueden generar 2021. Aquí tenemos tres:

2021=(76+2)×26-7

2021=8×304-403-8

2021=73×(24+4)-2-3×7

 

Es posible generar 2021 mediante los primeros números primos. Se puede conseguir de dos formas:

Troceando cifras y manteniendo el orden:

2021=2357-(1+1+1)×(3+17+1+92)+3

Sin trocear, pero alterando el orden natural:

2021=5/(2+3)×(7+23+13)×(17+19+11)

 

12

Con algo de paciencia y llegando hasta el 47, se puede generar 2021 con los primeros números primos, sin alterar las cifras ni el orden:

2021=2×3×5×7×11-13×17-(19+23)(-29+31)+(-37+41)(-43+47)

 

Todos los números naturales se pueden descomponer en suma de tres triangulares (contando el 0). 2021 admite nueve de esas sumas. Destacamos tres:

2021=15×16/2+40×41/2+46×47/2

2021=19×20/2+37×38/2+47×48/2

2021=24×25/2+31×32/2+49×50/2

 

Todos los números naturales también se descomponen en suma de tres capicúas. 2021 admite 28 de esas sumas. Destacamos algunas:

 

2021=9+131+1881

2021=22+888+1111

2021=99+151+1771

2021=111+909+1001

2021=505+515+1001

 

13

 

2021 se descompone de dos formas distintas en suma de cuatro términos de la sucesión de Fibonacci:

2021=F(7)+F(9)+F(14)+F(17)=13+34+377+1597

2021=F(7)+F(9)+F(16)+F(16)=13+34+987+987

 

2021 equivale a 17 sumas, al menos, de cinco cuadrados simétricos cada una. Publicamos tres:

2021=13^2+19^2+31^2+19^2+13^2

2021=7^2+11^2+41^2+11^2+7^2

2021=21^2+23^2+9^2+23^2+21^2

 

14

 

Esto no falta ningún nuevo año. 2021 con las primeras cifras de los números notables:

Con π:

2021=314+1592+653-58×9-7-9

 

Con “e”:

2021=271×8-(2+8+18+2+8)×4+5

 

Con el número áureo:

2021=1618+0+339+88+74-98

 

Con la raíz cuadrada de 2:

2021=1414+21+356+237+3-0!-9

 

Con la raíz cuadrada de 3:

2021=1732+0+(5+0)×(8+0+7×5+6)+88/(7/7×2)

 

Con el número de plata:

2021=2414-21-356-2×3-7-3

https://www.gaussianos.com/el-numero-plateado/

https://es.wikipedia.org/wiki/N%C3%BAmero_plateado

 

Con el número de bronce:

2021=-330+2775-(63+7)×7+3×19+9

https://es.wikipedia.org/wiki/N%C3%BAmero_met%C3%A1lico

 

15

 

La suma de los divisores de 2021, 1+43+47+2021=2112 (función sigma) es capicúa con desarrollo palindrómico:                  

2112=8×33×8

 

2021 es cateto de la terna pitagórica (2021, 180, 2029), ya que 2021^2+180^2=2029^2

 

2021 equivale a una potencia de 2 menos otra potencia de 3

2021=2^11-3^3

 

16

Una propiedad que parece frecuente pero no lo es, y es que si multiplicamos 2021 por su simétrico 1202 resulta un capicúa:

2021×1202=2429242

 

El número 2021 es la suma de todos los pares de primos consecutivos desde 2+3 hasta 89+97:

2021=(2+3)+(3+5)+(5+7)+(7+11)+ … +(79+83)+(83+89)+(89+97)

 

2021 es igual a la suma de los primeros 33 primos más el número 33                       

2021=2+3+5+7+…+127+131+137+33


 

 

 

 

viernes, 18 de diciembre de 2020

Semiprimos de la forma n²+k

 Una forma de obtener ideas para el blog es la de elegir un número al azar y buscarlo en OEIS (http://oeis.org), la Enciclopedia de sucesiones enteras. En una de estas exploraciones aparecieron las relaciones de los números semiprimos con los cuadrados. Me pareció un tema que podía dar juego, y aquí lo tenéis.

Comenzamos con aquellos semiprimos que sobrepasan a un cuadrado en un número k prefijado. Recorreremos algunos casos de k.

Podemos imaginar una función en la que identificamos n como semiprimo le restamos k y vemos si es cuadrado. Por motivos de rendimiento, es preferible pensarlo al revés, que sería averiguar si el número es de la forma n²+k y después comprobar si es semiprimo. Se puede disponer de una función essemiprimo (o, en algunos lenguajes de programación, hacer bigomega(n)=2), pero integraremos esa comprobación en el código general.

Se puede usar una función (semiconcuad(n,k)) construida para Excel o Calc, pero fácilmente trasladable a otros lenguajes. Usaremos en ella la función escuad, que identifica los cuadrados y que puede tener este listado:

Public Function escuad(n) As Boolean

 If n < 0 Then

escuad = False

Else

If n = Int(Sqr(n)) ^ 2 Then escuad = True Else escuad = False

End If

End Function

También usamos la función esprimo que puedes encontrar en cualquier buscador escribiendo “función esprimo hoja”. Se ha usado mucho en este blog, por lo que se puede omitir cualquier explicación sobre ella.

function semiconcuad(n,k) as boolean

dim d,m,r,q

dim noes as boolean

 If not escuad(n-k) or n=1 then semiconcuad=false:exit function

‘Si n-k no es cuadrado o n=1, sale del algoritmo

d=2:noes=true:r=sqr(n) ‘La raíz cuadrada de n es el tope de los divisores propios

while d<=r and noes ‘Se busca si es semiprimo

q=int(n/d) ‘Para cada divisor se busca el complementario

if n=d*q and esprimo(q) and esprimo(d) then noes=false ‘Busca dos factores primos

d=d+1

wend

semiconcuad=not noes ‘Es semiprimo

end function

Caso k=1

Si aplicamos una búsqueda para k=1 resultan estos primeros semiprimos:

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, 10001

Están publicados en http://oeis.org/A144255

En esa publicación se destaca que sus factores primos serán distintos, porque n²+1 no puede ser cuadrado. Por ejemplo, 26=52+1=2*13.

Las bases de los cuadrados no presentan ninguna pauta aparente: 3, 5, 8, 9, 11, 12, 15, 19, 22, 25, 28, 29, 30, 34, 35, 39,…

Con la función presentada más arriba es fácil encontrar los primeros semiprimos de la forma n²+k. Es útil si deseamos saber si un número cualquiera cumple lo exigido, pero si solo nos interesa el listado, se puede sustituir por una subrutina. La que sigue escribe con rapidez las primeras 50 soluciones para k=1 en la celda 9,9 de la primera hoja:

sub listsemiconcuad() as boolean

 dim d,m,r,q,k

dim res$

dim noes as boolean

 k=1:res$=""

for n=1 to 50

m=n^2+1

d=2:noes=true:r=sqr(m)

while d<=r and noes

q=int(m/d)

if m=d*q and esprimo(q) and esprimo(d) then noes=false:res$=res$+", "+str$(m)

d=d+1

wend

next n

call escribestring(0,8,8,res$)

end sub

 Se obtiene el listado:

10,  26,  65,  82,  122,  145,  226,  362,  485,  626,  785,  842,  901,  1157,  1226,  1522,  1765,  1937,  2026,  2117,  2305,  2402,  2501

 Es interesante el listado en PARI publicado en esa página, pero requiere alguna corrección. Puedes usar este:

 print(select(n->bigomega(n)==2, vector(100, n, n^2+1)))

 Caso K=2

 Con nuestra función semiconcuad, haciendo k=2, es fácil obtener un listado:

 


En la tabla figuran el número semiprimo, la base del cuadrado correspondiente y la factorización del primero. Los semiprimos aquí tampoco serán cuadrados.

 Las bases de los cuadrados en la segunda columna están publicadas en http://oeis.org/A242330

 Con PARI obtenemos estas soluciones en forma de lista

 print(select(n->bigomega(n)==2, vector(100, n, n^2+2)))

 [6, 38, 51, 123, 146, 291, 326, 731, 843, 1227, 1371, 1766, 1851, 2306, 2603, 2811, 2918, 3027, 3602, 4227, 4358, 4763, 5186, 5331, 5627, 6243, 6891, 7058, 7571, 8102, 8651, 9411]

Igualmente, para k=3:

 


Las bases de los cuadrados, 1, 6, 16, 18, 20, 24, … están publicadas en http://oeis.org/A242331. Aquí sí hay una solución cuadrada, el 4, igual a 12+3.

K=-1

 Este caso es interesante, porque en él el semiprimo equivale a n2-1=(n+1)(n-1) lo que nos lleva a que sus factores son primos gemelos, y por tanto el semiprimo pertenecerá a http://oeis.org/A037074

 Los primeros serán:

En la factorización de la derecha aparecen claramente los pares de primos gemelos.

Los números de la segunda columna, bases de los cuadrados correspondientes, será, pues, los promedios de los pares de primos gemelos.

 

Se puede plantear algo similar para los cubos, buscando semiprimos de la forma n3+k, pero está casi todo publicado y no tiene interés añadido. Lo dejamos aquí.

miércoles, 9 de diciembre de 2020

Los números de Pell

Se llaman así a los denominadores del desarrollo en fracciones continuas de la raíz cuadrada de 2. Como este algoritmo no suele ser muy conocido, remitimos a nuestras entradas referidas a él. Como fueron varias, es preferible que consultes el resumen Números y hoja de cálculo II en su capítulo “Las olvidadas fracciones continuas”. Lo puedes descargar desde

http://www.hojamat.es/publicaciones/hojanum2.pdf

En esa publicación podrás repasar lo más importante de estas fracciones, que sirven para aproximar tanto los números racionales como los irracionales. En este último caso, si son cuadráticos, los coeficientes de dichas fracciones son periódicos, detalle muy importante, porque nos permite realizar iteraciones. Vemos todo esto a continuación:

Raíz de 2 en forma de fracción continua

Copiamos a continuación la introducción al capítulo que hemos enlazado:

Llamamos fracción continua a la expresada de esta forma:

donde a es entero y b, c…son enteros positivos llamados cocientes. Toda fracción ordinaria se puede expresar de esta forma, y todo número irracional admite aproximaciones mediante desarrollos de este tipo. Las fracciones continuas se usan cuando se desea manejar un representación de los números reales independiente del sistema de numeración (salvo en la expresión de los cocientes).

Como hemos indicado más arriba, en el caso de irracionales cuadráticos los cocientes son periódicos. Lo intentamos ver con la raíz cuadrada de 2 y una calculadora:

1,4142135623731 = 1+0,4142135623731 = 1+1/2,414213562 = 1+1/(2+0,414213562) = 1+1(2+1/2,414213562) = 1+1(2+1/2+0,414213562) = …

Aunque de forma aproximada, ya vemos la periodicidad. De hecho, la fracción continua de la raíz cuadrada de 2 es


Si se interrumpe el desarrollo, que es infinito y periódico y se calcula el valor de lo truncado obtendremos las llamadas reducidas. No vamos a reproducir aquí la teoría, porque nuestro interés está en los denominadores de esas reducidas. Desde hace mucho tiempo se sabe que tanto los cocientes como las reducidas se calculan a partir del algoritmo de Euclides para obtener el M.C.D. Dejamos por ahora el fundamento de todo esto, porque lo que nos va a interesar es la obtención de los números de Pell por recursión.

Podemos usar nuestra hoja de cálculo fraccont.xlsm para reproducirlo todo (descargable desde http://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#fraccont)

Reproducimos el resultado que da para la raíz cuadrada de 2:

En la parte izquierda hemos escrito los decimales de la raíz cuadrada de 2, (=RAIZ(2)). La línea de arriba contiene los cocientes de la fracción continua, que, como vemos, es periódica salvo el primero. Debajo están escritas las reducidas, que son fracciones que se aproximan al valor de la raíz de 2, según puedes observar en la fila verde de abajo.

De toda esta teoría nos interesan los valores de los denominadores (lo demás lo puedes ignorar): 1, 2, 5, 12, 29, 70, 169, 408, 985, 2378,…Estos son los llamados “Números de Pell”.

Se puede demostrar que la generación de estos números se obtiene por recursión mediante un antiguo algoritmo llamado de “los cumulantes”. Compruébalo:

P1=1,  P2=2,  P3=2*P2+P1=2*2+1=5,  P4=2*P3+P2=2*5+2=12,…

Pn=2*Pn-1+Pn-2

Aquí comienza verdaderamente el tema:

Llamaremos números de Pell a aquellos números enteros obtenidos mediante esta definición por recursión:

P1 = 1,  P2 = 2,  Pn = 2*Pn-1 + Pn-2

Los primeros son: 1, 2, 5, 12, 29, 70, 169, 408, 985, 2378, 5741, 13860, 33461, 80782, 195025, 470832, 1136689, 2744210, 6625109, 15994428, 38613965, 93222358, 225058681, 543339720, 1311738121, 3166815962, 7645370045,…

Están publicados en http://oeis.org/A000129

Los puedes reproducir mediante la recursión, pero podemos usar otra herramienta que ofrece Hojamat.es sobre las sucesiones recurrentes.

http://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#recurre2

En la hoja “Segundo orden” podemos escribir los datos de esta recursión: 1 y 2 como elementos iniciales de los números de Pell así como 2 y 1 como coeficientes de la fórmula de recursión. Quedaría así:


Si le das al botón
Ver sucesión obtendrás los primeros números de Pell:

Si bajas a celdas inferiores podrás encontrar la ecuación característica, que es la fórmula que devuelve los números de Pell sin necesidad de recursión. La hoja nos devuelve esta ecuación:

X(n)= .85355*( 2.41421)^n+ .14645*(-.41421)^n)

Está escrita con decimales, pero puedes comprobar fácilmente que coincide con la que te dará  cualquier publicación:



Si le das un valor entero positivo a n, con la fórmula se obtendrá Pn. A partir de ella se deduce que el cociente entre dos números de Pell consecutivos se acerca al valor del número de plata:

La razón es que al crecer n el segundo sumando tiende a 0. Lo comprobamos con nuestra herramienta recurre2.xlsm:

 


La recurrencia también es útil para investigar si un número cualquiera es de Pell o no. Como el proceso es bastante rápido, bastará usar esa recurrencia desde P(1)=1 y P(2)=2 hasta llegar al número dado. Si el proceso pasa por él, será de Pell y, si lo sobrepasa, no lo será. Lo hemos plasmado en esta función:

Función ESPELL

Public Function espell(n)

Dim a, b, c

Dim es As Boolean

 

If n = 1 Or n = 2 Then espell = True: Exit Function ’ Si es 1 o 2, hemos terminado

a = 2: b = 5: es = False ‘Iniciamos en P(3)=5 y es=false (lo normal es que no sea tipo Pell)

While b <= n

If b = n Then es = True ‘Si pasa por el número, será de tipo Pell

c = a + 2 * b: a = b: b = c ‘Recurrencia

Wend ‘Si sobrepasa al número, no es de Pell

espell = es

End Function

 

Puedes probarla con números que sabes que son del tipo Pell y otros que no lo sean, para ver su funcionamiento.

Si conoces el lenguaje PARI, puedes usar esta otra, que es idéntica, pero de estructura más compacta:

espell(n)={my(a=2,b=5,c,m=0);while(b<=n,if(b==n,m=1);c=a+2*b;a=b;b=c);m||n==1||n==2}


Son soluciones de ecuaciones de Pell

Lo que sigue es sólo una ventana a otro tema. Si no te interesan las ecuaciones de Pell, ignóralo. Si ya tienes una idea, esto te servirá para repasar o avanzar.

Los valores P2n son soluciones de la ecuación de Pell x2-2y2=1

Hemos usado nuestra hoja

http://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#pell

En ella hemos a D el valor 2 y hemos pedido soluciones para que el segundo miembro valga 1:

Observamos que las soluciones para Y son los números de Pell de índice par.

Los valores P2n-1 son soluciones de la ecuación de Pell x2-2y2=-1

En efecto, para el -1 resultan los números de Pell de índice impar 5, 29, 169,…


Aquí lo dejamos, ya que era una idea para profundizar.

 

Los números de Pell y las ternas pitagóricas

Los números de Pell nos sirven para descubrir catetos de una terna pitagórica primitiva que se diferencien en una unidad. Para ello recordemos que las ternas se formaban mediante estas tres expresiones: (2mn, m2-n2, m2+n2), con m y n coprimos y de distinta paridad. Si los dos catetos se diferencian en una unidad se cumplirá que m2-n2=2mn+1. Hemos escrito 1, pero también resultan casos con el -1

Convertimos m2-n2=2mn+1 en (m-n)2-2n2=1 ( o a -1)

Por tanto, m-n y n serán soluciones de la ecuación de Pell contenidas en las tablas de arriba.

Tomemos, por ejemplo, las soluciones 99 y 70. Calculamos:

m-n=99, n=70, m=169, m2-n2= 23661 y 2mn=2*169*70=23660, y son consecutivos.

Vemos otro: m-n=17, n=12, m=29 y m2-n2=697 y 2mn=696.

Los valores de m y n resultan ser números de Pell consecutivos.

 

¿Pueden ser de otro tipo los números de Pell?

Si combinamos nuestra función ESPELL vista más arriba con otras del mismo tipo como ESCUAD, ESPRIMO, ESOBLONGO o ESTRIANGULAR, podemos saber si un número de Pell puede pertenecer a otro tipo. Aquí tienes algunos resultados:

Primos

Sí existen números de Pell que son primos. Los primeros son 2, 5, 29, 5741,…Sus índices han de ser primos también. Puedes profundizar en estas páginas:

https://mathworld.wolfram.com/PellNumber.html

http://oeis.org/A086383

Cuadrados

Sólo son de Pell y cuadrados estos dos: el 1 y el 169

Triangulares

Ocurre algo similar, que el 1 es el único número de Pell triangular

Oblongos

Hemos encontrado 2 y 12 y no parece haber más.

Semiprimos

Hemos encontrado 169=13*13, 985=5*197, 1136689=137*8297, 6625109

Con esto tienes una idea básica de lo que son los números de Pell y algunas de sus propiedades.

viernes, 27 de noviembre de 2020

Consecutivos con las mismas cifras

El caso de 169=13^2 y 196=14^2 suele llamar la atención por el hecho de que dos elementos consecutivos de una lista tengan las mismas cifras en el sistema de numeración decimal, o lo que es igual que las cifras de uno sean anagramas de las cifras del otro. Hay muchos otros ejemplos de términos de listas que comparten cifras. Por ejemplo, los primos consecutivos 49279 y 49297. Estudiaremos algunos ejemplos de estas coincidencias.

Ya que este puede ser el más popular, comenzamos el estudio con el caso de cuadrados consecutivos, que, como suele suceder, ya está bien estudiado. Quienes seguís este blog sabéis que en estos casos nos llama más la atención los algoritmos o funciones necesarios para búsquedas con hoja de cálculo o PARI.

Función CIFRAS_IDENTICAS

Para abordar estas cuestiones disponemos hace años de la función CIFRAS_IDENTICAS, que efectúa un recuento de las frecuencias de cada cifra dentro de dos números y las compara para ver si son idénticas o existe alguna diferencia.

La versión para VBASIC de Excel y Calc puede tener esta estructura:

Public Function cifras_identicas(m, n) As Boolean

 Dim i, h, s

Dim ci As Boolean

Dim ca(10), cb(10)

 For i = 0 To 9: ca(i) = 0: cb(i) = 0: Next i ‘Se habilitan diez contenedores para las frecuencias de las cifras

 h = m ‘Se copia m porque se a ir alterando

While h > 0

i = Int(h / 10)

s = h - i * 10 ‘Se extrae cada cifra

h = i

ca(s) = ca(s) + 1 ‘Se acumulan las frecuencias

Wend

 h = n ‘Se repite el mismo trabajo con n

While h > 0

i = Int(h / 10)

s = h - i * 10

h = i

cb(s) = cb(s) + 1

Wend

 ci = True ‘Se supone que las cifras son idénticas

For i = 0 To 9

If ca(i) <> cb(i) Then ci = False ‘Si dos frecuencias son distintas, es falso

Next i

cifras_identicas = ci

End Function

 Así, la función aplicada a los números 2223334448 y 8234234234 devuelve VERDADERO, pues las cifras 2, 3, 4 y 8 poseen frecuencias iguales.

 

Si alteramos alguna frecuencia, nos devolverá FALSO:

 

Hemos tenido que construir una función de forma algo compleja, porque el lenguaje VBASIC no da mucho de sí. La función que usamos tendría este otro código en PARI:

 cifras_identicas(m,n)=vecsort(digits(m))==vecsort(digits(n))

 Se entiende con sólo leerlo: “las cifras ordenadas de m han de ser idénticas a las de n”.

 Con estas dos funciones ya estamos preparados para emprender búsquedas.


 Cuadrados consecutivos

Con la función para hojas de cálculo podemos comparar cada cuadrado con su siguiente. Mediante un bucle de búsqueda o dos columnas de Excel podemos ir comparando N^2 con (N+1)^2 y ver si las cifras son idénticas o no:

Hemos recorrido los primeros números y comparado las cifras entre su cuadrado y el cuadrado siguiente, y se ha obtenido esta tabla:

 


Los primeros cuadrados con esta propiedad están publicados en http://oeis.org/A227692

 A227692 Smaller of two consecutive squares which are anagrams (permutations) of each other.                  

169, 24649, 833569, 20367169, 214534609, 368678401, 372142681, 392554969, 407676481, 771617284, 1013021584, 1212780625, 1404075841, 1567051396, 1623848209, 2538748996, 2866103296, 2898960964, 3015437569, 3967236196, 4098688441, 4937451289

 Sus bases también están publicadas en http://oeis.org/A072841

A072841 Numbers k such that the digits of k^2 are exactly the same (albeit in different order) as the digits of (k+1)^2.

13, 157, 913, 4513, 14647, 19201, 19291, 19813, 20191, 27778, 31828, 34825, 37471, 39586, 40297, 50386, 53536, 53842, 54913, 62986, 64021, 70267, 76513, 78241, 82597, 89356, 98347, 100147, 100597, 103909, 106528, 111847, 115024, 117391, 125986

Zak Seidov indica en esa página que todos los elementos de esta lista tendrán la forma 9k+4. Se puede razonar con facilidad: si N^2 y (N+1)^2 poseen las mismas cifras, y por tanto la misma suma de ellas, luego su diferencia será múltiplo de 9, es decir:

(N+1)^2-N^2=9m, o lo que es igual,

2N+1=9m, 2N=9m-1, luego 2N tendrá resto -1 respecto a 9, que equivale a resto 8. Por tanto, N tendrá resto 4, y será de la forma 9k+4.

Michel Marcus propone un código PARI idéntico al propuesto más arriba (no lo había consultado previamente):

 (PARI) isok(n) = vecsort(digits(n^2)) == vecsort(digits((n+1)^2)); \\ Michel Marcus, Sep 30 2016

 Primos consecutivos

Si comparamos cada número primo con su siguiente, podemos detectar pares anagramáticos. Para Excel o Calc necesitaremos las funciones ESPRIMO y PRIMPROX, que puedes consultar en la siguiente entrada de este blog:

http://hojaynumeros.blogspot.com.es/2012/04/proposito-de-ormiston.html

Con estas dos funciones podemos construir otra que nos devuelva si un número es primo y anagramático con su siguiente:

Public Function anagram_primo(n) As Boolean

If esprimo(n) And cifras_identicas(n, primprox(n)) Then anagram_primo = True Else anagram_primo = False

End Function

Puedes intentar reproducir la tabla siguiente, mediante un bucle FOR-NEXT de búsqueda:

Si usamos en PARI la instrucción nextprime, podemos fácilmente detectar de otra forma qué primos consecutivos son anagrámaticos entre sí:

cifras_identicas(m,n)=vecsort(digits(m))==vecsort(digits(n))

anagram_primo(k)=isprime(k)&&cifras_identicas(k,nextprime(k+1))

for(i=2,10^5,if(anagram_primo(i),print1(i,", ")))

El resultado es:

Coincide con el obtenido con Excel y con el publicado en la siguiente página:

http://oeis.org/A069567

A069567  Smaller of two consecutive primes which are anagrams of each other.

1913, 18379, 19013, 25013, 34613, 35617, 35879, 36979, 37379, 37813, 40013, 40213, 40639, 45613, 48091, 49279, 51613, 55313, 56179, 56713, 58613, 63079, 63179, 64091, 65479, 66413, 74779, 75913, 76213, 76579, 76679, 85313, 88379

A estos pares de primos se les da el nombre de “pares de primos de Ormiston”. Se ha conjeturado que existen infinitos pares de este tipo. Existen conjuntos similares pero de más de dos primos.

Triangulares consecutivos

Podemos sustituir la función ESPRIMO por ESTRIANGULAR. Esta última se basa en la idea de que un número triangular multiplicado por 8 y sumado con la unidad se convierte en un cuadrado. Es fácil razonarlo:

Con esta propiedad se construye la siguiente función:

Function estriangular(n) As Boolean

Dim a

If escuad(8 * n + 1) Then estriangular = True Else estriangular = False

End Function

 

Si la usamos de una forma parecida a como integramos ESPRIMO en ANAGRAM_PRIMO, podemos construir una búsqueda similar con triangulares. Para ello necesitamos otra función, que dado un triangular, nos devuelva su número de orden:

Public Function ordentriang(n)

Dim k

If estriangular(n) Then k = Int((Sqr(8 * n + 1) - 1) / 2) Else k = 0

ordentriang = k

End Function

 Al final, la búsqueda de triangulares consecutivos anagramáticos quedaría así:

Public Function anagram_triang(n) As Boolean

Dim k

Dim es As Boolean

 es = False

If estriangular(n) Then

k = ordentriang(n)

If cifras_identicas(n, (k + 1) * (k + 2) / 2) Then es = True

End If

anagram_triang = es

End Function

 

Con ella podemos buscar los triangulares consecutivos anagramáticos. No es fácil, porque el primero es 404550. Puede merecer la pena pasar a PARI:

cifras_identicas(m,n)=vecsort(digits(m))==vecsort(digits(n))

anagram_triang(k)={my(b,a,m=0);if(issquare(8*k+1),b=truncate((sqrt(8*k+1)-1)/2);a=(b+1)*(b+2)/2;if(cifras_identicas(k,a),m=1));m}

for(i=1,1e8,if(anagram_triang(i),print(i)))

 Con este código obtenemos los primeros triangulares anagramáticos con su siguiente:

404550, 2653056, 3643650, 5633046, 6413571, 10122750, 10656036, 13762881, 19841850, 26634051, 32800950, 47848653, 56769840, 71634465, 89184690,…

La lista la tienes más completa en

http://oeis.org/A247305

A247305 The smaller of two consecutive triangular numbers which are permutations of each other.              

404550, 2653056, 3643650, 5633046, 6413571, 10122750, 10656036, 13762881, 19841850, 26634051, 32800950, 47848653, 56769840, 71634465, 89184690, 103672800, 137108520, 317053971, 345069585, 392714325, 408508236, 440762895, 508948560, 598735710, 718830486, 825215625,…

De forma parecida a lo que ocurrió con los cuadrados, la diferencia entre dos triangulares será múltiplo de 9, pero esa diferencia es n+1, luego n+1=9k, y n(n+1)/2=(n/2)*9k. Si k es par, (k=2m), quedaría n(n+1)/2=n*9m, que sería múltiplo de 9. Si k es impar, lo será n+1, luego n/2 será entero al ser par n. Por tanto, también quedaría un múltiplo de 9.

Todos los términos de la sucesión son múltiplos de 9.

Oblongos consecutivos

Podemos repetir el estudio con los números oblongos, es decir, con n(n+1) comparado con (n+1)(n+2). Seguiremos con PARI, pero sustituyendo la condición issquare(8*k+1) que caracteriza a los triangulares por issquare(4*k+1), que corresponde a sus dobles, que son los oblongos. Así que, si definimos como ok(k) la función que determina si un oblongo es anagramático con su siguiente, nos quedaría:

ok(k)={my(b,m=0);if(issquare(4*k+1),b=truncate(sqrt(4*k+1)-1)/2;if(vecsort(digits(k))==vecsort(digits((b+1)*(b+2))),m=1));m}

 Con esta función podemos encontrar los primeros oblongos que cumplen la condición pedida. Los primeros son estos:

23256, 530712, 809100, 11692980, 17812620, 20245500, 22834062, 23527350, 29154600, 83768256, 182236500, 189847062, 506227500, 600127506, 992218500, 1363566402, 1640209500, 2175895962, 2422657620, 2477899062, 2520190602, 3041687952, 3764129256, 4760103042,…

Esta sucesión permanecía inédita y la hemos publicado en https://oeis.org/A337784.

Existe una forma más rápida de encontrar estos oblongos, y es darle el protagonismo a sus índices. En lugar de una función usaremos un bucle FOR-NEXT:

for(i=1,1000000, a=i*(i+1); b=(i+1)*(i+2); if(vecsort(digits(a))==vecsort(digits(b)), print1(a,", ")))

Si en la instrucción print1(a,", ") sustituimos a por i, nos devolverá los índices de los oblongos encontrados:

152, 728, 899, 3419, 4220, 4499, 4778, 4850, 5399, 9152, 13499, 13778, 22499, 24497, 31499, 36926, 40499, 46646, 49220, 49778, 50201, 55151, 61352, 68993,…

Relación con el 9

Todos los números oblongos descubiertos son múltiplos de 9. Lo razonamos:

Si n(n+1) es anagramático con (n+1)(n+2), su diferencia, 2(n+1) será un múltiplo de 9

2(n+1)=9k; n=9k/2-1, luego k es par y n tendría resto 8 respecto al módulo 9. Lo puedes comprobar en el listado de índices de unas líneas más arriba. Así que n=(9k-2)/2 con k par.

El número oblongo n(n+1) quedaría como n(n+1)=(9k-2)/2*((9k-2)/2+1)=n*9k/2. Al ser k par, n(n+1) será múltiplo de 9. También los puedes comprobar en el listado de oblongos. De hecho, sus diferencias son múltiplos de 18.

Con esto finalizamos el tema. Otros tipos de números no presentan con facilidad esta propiedad de ser anagramáticos.