En la entrada anterior se buscaron números con cifras simétricas, en los que bases, índices u órdenes también fueran simétricos, como los cubos 1334633301=1101^3 y 1033364331=1011^3, que son simétricos y también sus bases.
Ahora ampliaremos las
condiciones y, en lugar de exigir simetría, buscaremos números anagramáticos
(con las mismas cifras). Un ejemplo sería el par de cuadrados 1302=16900
y 3102=96100. No son simétricos en sus cifras, pero sí poseen
las mismas.
Si en la anterior búsqueda
se usaba la función propia de este blog CIFRAINVER, en esta nueva será útil CIFRAS_IDENTICAS,
que determina si dos números poseen las mismas cifras con frecuencias
idénticas, de forma que los repetidos en uno también lo estén en el otro. Se
puede estudiar su codificación en la entrada de este blog https://hojaynumeros.blogspot.com/2020/11/consecutivos-con-las-mismas-cifras.html.
En el caso de las cifras
simétricas, cada número sólo se podía corresponder con su simétrico, pero en
este caso pueden existir múltiples soluciones anagramáticas, por lo que
deberemos introducir un contador de soluciones.
Usaremos la función ANA_ANA
para investigar este caso:
Function ana_ana$(n)
Dim i, m
Dim s$
s = "" ‘Contenedor de soluciones
m = 0 ’Contador
For i = 1 To n – 1 ‘Aquí
usamos la función para cubos
If cifras_identicas(n, i)
And cifras_identicas(n ^ 3, i ^ 3) Then m = m + 1: s = s + " # " +
Str$(i) ‘Si son anagramáticos, se publica
Next i
If s = "" Then s =
"NO" Else s = ajusta(m) + " # " + s
ana_ana = s
End Function
Esta función, tal como está, busca el caso de cubos anagramáticos. Un sencillo cambio en la línea que contiene la función CIFRAS_IDENTICAS la habilita para otros casos. El resultado es:
Observamos que el número 1100 presenta dos soluciones. Es posible que esta sucesión no esté publicada.
Caso de cuadrados
Si cambiamos los cubos por cuadrados en la función ANA_ANA obtenemos
Como ocurre con otros tipos, aquí pueden aparecer varias soluciones, como en 210 y 310. Es que la condición de igualdad de cifras es menos restrictiva que la de simetría.
Números
primos
En el caso de los números
primos bastará incluir en la función ANA_ANA la función PRIMNUM(N) o PRIME(N).
Resultan bastantes ejemplos por rango, siendo el primero el par (37, 73) de
Sheldon, que ya estudiamos en la entrada anterior. Lo que ocurre ahora es que,
al ser la condición menos exigente, se obtienen más resultados. En hoja de
cálculo el proceso se hace lento, pero en PARI la velocidad de proceso es
aceptable.
La siguiente tabla se ha
confeccionado con los resultados de PARI. Se han ordenado de esta forma: Índice
1, Primo 1, Índice 2, Primo 2.
I1, P1, I2, P2
21, 73, 12, 37
163, 967, 136, 769
423, 2927, 342, 2297
474, 3361, 447, 3163
821, 6311, 218, 1361
823, 6323, 382, 2633
921, 7211, 912, 7121
1053, 8423, 1035,
8243
1642, 13901, 1426,
11903
1765, 15107, 1756,
15017
En el lenguaje PARI es muy sencillo detectar números anagramáticos.
Basta exigir vecsort(digits(m))==vecsort(digits(n)),
de fácil comprensión: “Si ordenamos las
cifras de ambos números nos resulta el mismo vector”.
Con este código se obtienen
resultados fácilmente en la web de PARI
ok(m,n)=vecsort(digits(m))==vecsort(digits(n))&&vecsort(digits(prime(n)))==vecsort(digits(prime(m)))&&n%10<>0&&m%10<>0
for(i=2,2000,for(j=2,i-1,if(ok(i,j),print(i,",
",prime(i),", ",j,", ",prime(j)))))
Números triangulares
En el caso de soluciones simétricas no era fácil
encontrar un ejemplo con números triangulares. Veamos si sólo buscamos
anagramáticos. Usaremos la fórmula de los triangulares, N(N+1)/2.
Tal como era de esperar, aparecen muchas más soluciones.
Estas son las primeras:
Con estos ejemplos ya estamos preparados para emprender otras búsquedas, como oblongos, de Fibonacci, potencias enteras y otros más que se nos ocurran.