lunes, 16 de noviembre de 2020

Números pentagonales (2)

Algunas propiedades de los números pentagonales

En la anterior entrada se presentaron los números pentagonales desde varios puntos de vista. En esta otra repasaremos algunas propiedades curiosas.

El promedio de los primeros números pentagonales es un número triangular

Antes de sumar los números pentagonales hay que recordar estas dos igualdades:

Con estas dos fórmulas podemos sumar pentagonales:

Con unas pocas simplificaciones llegamos a

De esta igualdad sacamos dos consecuencias:

La expresión de la suma de los primeros números pentagonales coincide con la fórmula de los piramidales pentagonales. Esto es consecuencia de su definición. Puedes comprobarlo en mi publicación “Números piramidales”

(http://www.hojamat.es/publicaciones/piramidal.pdf)

Tal como hemos afirmado, si dividimos la expresión obtenida entre n obtendremos el promedio de los primeros pentagonales y, en efecto, resulta un número triangular:

Por tanto, el promedio es triangular.

 Números pentagonales como suma de números consecutivos

Según Jon Perry, podemos interpretar el pentagonal de orden n como la suma de n números enteros consecutivos que comienzan en n. Es decir:

 


Por ejemplo, P4=4+5+6+7=22, P5=5+6+7+8+9=35.

Si recordamos que los números triangulares, de fórmula n(n+1)/2, son suma de números consecutivos, tendríamos, para P5:

P5=5+6+7+8+9=9(9+1)/2-4*(4+1)/2=45-10=35.

En general, según esta propiedad:

Pn =T(2n-1)-T(n-1)=(2n-1)*2n/2-(n-1)*n/2=(4n2-2n-n2+n)/2=(3n2-n)/2=n(3n-1)/2

Por tanto, coincide con la fórmula de los números pentagonales.

Hemos comprobado de paso que todo número pentagonal es diferencia entre dos triangulares.

 

Números pentagonales como suma de una progresión aritmética:

También Jon Perry interpreta un número pentagonal como una suma parcial en la progresión aritmética de diferencia 3: 1, 4, 7, 10, 13,…

Antes de demostrarlo algebraicamente, podemos visualizar esta propiedad fácilmente. Basta considerar las líneas poligonales que hemos añadido al esquema gráfico de estos números:



Aunque las líneas están trazadas a mano alzada, se perciben bien los sumandos 1, 4, 7, 10 y 13.

Si recordamos la fórmula de la suma de una progresión aritmética, podremos justificarlo algebraicamente:

Esta propiedad nos permite calcular cualquier número pentagonal por recursión. Basta darse cuenta de que Pn+1=Pn+3n+1.

Así, P1=1, P2=1+3+1=5, P3=5+3*2+1=12, P4=12+3*3+1=22,…

 

Un número pentagonal es suma de un combinatorio y un cuadrado

En efecto:

 


Un número pentagonal es un tercio de otro triangular

Es fácil demostrar que si el orden del pentagonal es k, el del triangular es 3k-1:

 


Pentagonales multipoligonales

Los números pentagonales pueden ser también cuadrados, triangulares o hexagonales. Los cuadrados los puedes consultar en

http://oeis.org/A036353

0, 1, 9801, 94109401, 903638458801, 8676736387298001, 83314021887196947001, 799981229484128697805801, 7681419682192581869134354401, 73756990988431941623299373152801

Disponemos en este blog de la función doblepolig, que nos indica si un número pertenece a dos tipos concretos de número poligonal. Puedes consultarla en

https://hojaynumeros.blogspot.com/search?q=multipoligonal

Con esta función es trivial reproducir la lista de más arriba,ya que basta exigir doblepolig(5,4).El problema radica en que Excel no puede llegar a estos números enormes, pero sí detecta el 9801:

9801 # 4,  99 # 5,  81 # 180,  11 # 274,  9 # 655,  6 # 3268,  3 # 9801,  2         

Se observa que 9801 es cuadrado y pentagonal, además de poligonal de 180, 274, 655, 3268 y 9801 lados.

Con esta función podemos encontrar los primeros pentagonales que son poligonales de otros tipos. Incluimos algunos (no tenemos en cuenta el 1):

Pentagonal y triangular: 210 y40755      

Pentagonal y hexagonal: 40755

Pentagonal y heptagonal: 4347

Y así podríamos seguir.

 

Teorema de Fermat para pentagonales

Fermat afirmó, y se demostró posteriormente, que todo número natural es suma de a lo más n números poligonales. En el caso de los pentagonales se deduce que todo natural es suma de como máximo cinco pentagonales.

La comprobación práctica de esta propiedad puede resultar algo complicada de seguir. No es difícil conseguirlo con nuestro programa de Excel y Calc Cartesius

(http://www.hojamat.es/sindecimales/combinatoria/herramientas/herrcomb.htm#cartesius)

En la captura de pantalla siguiente se presentan todas posibilidades de descomposición en pentagonales del número 121. Observamos que puede obtenerse con dos, tres, cuatro o cinco sumandos pentaonales. El papel del cero e importante. Sin él, sólo obtendríamos sumas de cinco sumandos pentagonales.

El planteo adecuado para conseguir esto es similar al siguiente:

xtotal=5

xt=1..10

xt=suc((n-1)*(3*(n-1)-1)/2)

suma=121

creciente

Explicamos línea por línea:

xtotal=5: Indica que el número de sumandos es 5

xt=1..10: Este es el rango de búsqueda de los índices de los pentagonales que se van a sumar. Es deseable que abarque hasta el índice del número que se va a probar o algo más. En nuestro caso, para 121 está bien un rango de 10.

xt=suc((n-1)*(3*(n-1)-1)/2): Esta es la instrucción fundamental. Indica que se construya el pentagonal de índice n-1, para que así contemos con el cero como sumando

suma=121: Escribe el total que deben dar los sumandos. En este caso, 121.

Creciente: Se incluye para eliminar casos repetidos.


Con esto finaliza nuestro repaso de los números pentagonales. Podíamos pasar a los generalizados, pero no entra dentro de los objetivos de este blog.

miércoles, 4 de noviembre de 2020

Números pentagonales (1)

Introducción

Dentro del repaso sistemático de los números poligonales que haremos en este curso, les toca el turno hoy a los pentagonales, poligonales de cinco lados. Además de las propiedades generales que comparten todos los tipos de poligonales, estos presentan algunas propiedades interesantes propias, como algún teorema muy conocido. Las recorremos.

Definición e inserción con los poligonales en general

Los números poligonales se forman mediante los contornos de polígonos regulares con lados de 1 a n puntos, con la condición de que compartan un vértice y sus dos lados contiguos. En nuestro caso se trata de pentágonos, pero ya conocerás los números triangulares, cuadrados o hexagonales, que presentan el mismo proceso de formación.

Quienes estudian estos números por primera vez tienen dificultades en entender este esquema, pues lo confunden con pentágonos concéntricos. La figura anterior la hemos construido con Excel, por lo que no presenta la regularidad en su diseño propia de programas de dibujo e imágenes.

Fórmula

Todos los números poligonales se pueden calcular con la siguiente fórmula (ver mi publicación “Números y formas” 

http://www.hojamat.es/publicaciones/numform.pdf):

En ella k es el números de lados y l la longitud de cada lado o índice. En nuestro caso de pentagonales haremos k=5 y al lado le llamaremos n. Quedará:

Con esta fórmula puedes obtener los primeros números pentagonales:

1, 5, 12, 22, 35, 51, 70, 92, 117, 145, 176, 210, 247, 287, 330, 376, 425, 477, 532, 590, 651, 715, 782, 852, 925, 1001, 1080, 1162, 1247, 1335, 1426, 1520, 1617, 1717, 1820, 1926, 2035, 2147,…

Los tienes publicados en http://oeis.org/A000326

Con la fórmula y una hoja de cálculo puedes obtener fácilmente una tabla:



Otra forma de deducir la fórmula

Según la propiedad general de los poligonales, los pentagonales serán equivalentes a tres triangulares de una unidad menos más la longitud del lado. En la imagen, los triangulares están dibujados con distintos colores y el lado final en azul.

Luego

 


Puedes contar las unidades de los primeros pentagonales en las siguientes imágenes, creadas con Excel:

N=4

Puedes contar a ojo que son 22 unidades, tal como predice la fórmula.

N=5



Son 35 unidades.

N=6



Los números pentagonales no deben confundirse con los números pentagonales centrados, que puedes estudiar en mi publicación enlazada más arriba.


Fórmula recursiva

Hemos copiado esta fórmula de OEIS:

a(0) = 0, a(1) = 1; for n >= 2, a(n) = 2*a(n-1) - a(n-2) + 3. - Miklos Kristof, Mar 09 2005

Si sustituimos cada término por la fórmula basta simplificar para obtener a(n). En la siguiente captura de pantalla (calculadora WIRIS) se puede observar la simplificación:


Como simple curiosidad, con esta función usaríamos la recurrencia explicada. No tiene utilidad, pero sirve para buscar rutas alternativas en casos similares:

Public Function penta2(n)

If n = 1 Then

penta2 = 1

ElseIf n = 2 Then

penta2 = 5

Else

penta2 = 2 * penta2(n - 1) - penta2(n - 2) + 3

End If

End Function

 No necesita explicación, ya que asigna el valor 1 al primer pentagonal, el 5 al segundo y al resto la recurrencia. Con ella podemos construir una tabla de valores, que coincida con lo ya explicado:

 


 

Criterio para reconocer pentagonales

En este blog hemos usado con frecuencia las funciones ESCUAD y ESTRIANGULAR para saber si un número es de ese tipo (cuadrado o triangular) o no. No es difícil construir una similar para los pentagonales. Basta seguir estos cálculos algebraicos. Sea P el posible número pentagonal y llamemos n a su orden. Entonces

P=n*(3n-1)/2; 2P=3n2-n; 3n2-n-2P=0

Al resolver esta ecuación de segundo grado vemos que el discriminante es 1+24P, luego debe ser un cuadrado perfecto. Ya tenemos un criterio, pues serán pentagonales los números que cumplan que 1+24P sea un cuadrado. Si esto se cumple, al resolver la ecuación obtendremos su índice.

Esta función devuelve un cero si el número no es pentagonal y si lo es, dará el valor de su índice u orden:

 Public Function ordenpentagonal(n)

Dim a, b

 

b = 0 ‘Iniciamos el orden con un cero, por si no es pentagonal

a = 1 + 24 * n ‘Discriminante

If escuad(a) Then b = (1 + Sqr(a)) / 6 ’ Si el discriminante es cuadrado, resolvemos

If b = Int(b) Then ordenpentagonal = b ‘Si b es entero, ese será el orden

End Function

 En la siguiente tabla puedes ver una lista de números consecutivos de los que solo 12 y 22 son pentagonales:

Con esta función puedes buscar directamente números pentagonales mayores. Por ejemplo, 1001 es el pentagonal 26 y 10045 es el número 82.

Uso de la calculadora “Calcupol”

En todas las entradas referidas a números poligonales nos referiremos a esta calculadora. Será inevitable repetir algunas instrucciones para cada tipo, pero el autor ignora en qué orden se pueden leer estas entradas, por lo que es preferible repetir a no explicar.

Si ya la conoces, puedes saltar estos párrafos.

Esta calculadora es una hoja de cálculo (En Excel o Calc) que puedes descargar desde mi página web:

http://www.hojamat.es/sindecimales/aritmetica/herramientas/hoja/calcupol.xlsm

Para usar la calculadora para números pentagonales basta elegir Tipo Poligonal y Orden 5. No es necesario para calcularlos, pero sí para otras prestaciones.

Las operaciones fundamentales que puedes efectuar son:

Cálculo directo: Basta escribir (recuerda que todo va con el ratón) 5 POL y después el índice o longitud del lado (termina siempre con el signo =). Por ejemplo, si tecleas 5  POL  1  2  =   obtendrás el pentagonal número 12, que es el 210:



Identificación: Si ya has concretado Poligonal Orden 5, puedes usar la tecla  ES  para saber si un número es o no pentagonal. Escribe, por ejemplo, 2035 y pulsa esa tecla ES

(puedes borrar pantalla con la tecla  CA  )

Obtendrás una respuesta afirmativa


Y en pantalla aparecerá su índice, 37:

Borra pantalla y escribe 2040 y observarás la respuesta negativa:


Próximo y anterior

Con las teclas   PROX  y  ANT  podemos recorrer todos los número pentagonales. Si tienes en pantalla 2040, al pulsar   ANT  obtendrás de nuevo 2035 y si ahora usas  PROX  se saltará el valor 2040 y pasará al siguiente pentagonal 2147.

En la siguiente entrada estudiaremos algunas propiedads curiosas de estos números.

 

viernes, 23 de octubre de 2020

Poligoriales

Los números poligoriales se definen de forma similar a los factoriales, pero en lugar de multiplicar números naturales consecutivos, lo hacen con los números poligonales.

Un número poligorial de orden k equivale al producto de los primeros números poligonales de orden k. Por ejemplo, 180 es poligorial de orden 3, porque es el producto de los cuatro primeros números triangulares: 180=1*3*6*10. 518400 lo es de orden 4, porque equivale al producto de los cuadrados 1, 4, 9, 16, 25 y 36.

En el caso de los factoriales los factores son números naturales, y no hay que calcularlos previamente al producto, pero en el caso de los poligoriales, cada factor posee su propia fórmula, que hay que evaluar. Como trabajamos con números poligonales, es útil usar la misma fórmula en todos los órdenes, aunque luego exista la posibilidad de simplificación en cada caso. Es la siguiente:


En ella k es el orden y n la longitud de un lado, que es la variable que se recorre al plantear el producto.

Con esta fórmula no es difícil encontrar una función que devuelva el valor de un poligorial de parámetros n y k:

Public Function poligorial(n, k)

Dim i, j, p

 If k < 2 Then poligorial = 1: Exit Function ‘No se definen poligonales de dos lados

p = 1 ‘Inicio del producto de poligonales

For i = 1 To n

p = p * i * (i * (k - 2) - k + 4) / 2 ‘Cada factor se evalúa con la fórmula para poligonales

Next i

poligorial = p

End Function

 

Casos particulares

A continuación recorreremos algunos órdenes, obteniendo el listado de los primeros términos y alguna propiedad o curiosidad. Comenzamos por los triangulares. Con la función de arriba, es fácil obtener esa lista de los primeros números poligoriales triangulares:


Un listado más completo lo tienes en http://oeis.org/A006472. Como en esa página figuran casi todos los casos, nos limitaremos a incluir el enlace en cada caso.

No es difícil encontrar una fórmula para el poligorial triangular:

Se puede expresar de otra forma, pero así es fácil calcularla con hoja de cálculo:

Si, por ejemplo, N figura en la celda I4, su poligorial triangular sería =FACT(I4)*FACT(I4+1)/2^I4. Puedes probarlo con cualquier elemento de la tabla:

FACT(7)*FACT(7+1)/2^7=1587600

En la dirección enlazada puedes consultar propiedades combinatorias cuya naturaleza no las hace aptas para ser tratadas con una simple hoja de cálculo.

En esa página figura una aproximación para estos poligoriales:

a(n) ~ 4*Pi*n^(2*n)/(2^n*exp(2*n)).

No es muy buena, como puedes comprobar en la siguiente tabla de comparación:


Poligoriales cuadrados

Este orden es mucho más simple en su generación que el anterior, ya que cada elemento es un producto de cuadrados consecutivos, luego es, en sí mismo, otro cuadrado, que coincide con el cuadrado de un factorial. Lo ves en la tabla:

Por tanto, su fórmula será:

El listado de los primeros junto con muchas propiedades combinatorias lo puedes consultar en http://oeis.org/A001044

 

Fórmula general en PARI

Ha llegado el momento de pensar en los poligoriales como productos de sumas, ya que los poligonales equivalen a sumas cuyos elementos tienen la expresión 1+(k-2)*(i-1). En efecto, los triangulares suman números enteros i, como 10=1+2+3+4, por lo que para k=3 suman 1+(3-2)*(i-1)=1+i-1=i. Los cuadrados suman impares: 1+3+5+7+9=25=5^2, con lo que para k=4 queda 1+(4-2)*(i-1)=1+2i-2=2i-1

Según estas consideraciones, que se basan en que todo poligonal equivale a k-2 números triangulares sumados con su índice (ver mi publicación “Números y formas” - http://www.hojamat.es/publicaciones/numform.pdf), estos sumandos 1+(k-2)*(i-1) se pueden extender a todos los poligoriales. En nuestra figura lo puedes entender mejor:



En ella se observa que en cada especie de arco están incluidas (k-2)*(i-1)+1 unidades: 3*0+1, 3*1+1, 3*2+1, 3*3+1…

Según esto, la función en PARI que devuelve el poligorial(n,k) puede ser:

polygorial(n,k)={my(i,j);prod(i=1,n,sum(j=1,i,1+(k-2)*(j-1)))}

Expresa muy bien la idea de que el poligorial es un producto de sumas.

Puedes comprobar, por ejemplo:

Polygorial(6,4)=518400

Polygorial(9,3)=2571912000

 

Poligoriales pentagonales

Con la fórmula en PARI (que tiene traducción sencilla para VBASIC) ya podemos encontrar poligoriales de cualquier orden. Si hacemos k=5 obtendremos los de orden pentagonal (o pentagoriales):

1, 5, 60, 1320, 46200, 2356200, 164934000, 15173928000, 1775349576000, 257425688520000,…

Su listado y propiedades los encontrarás en http://oeis.org/A084939

 

Resto de poligoriales

Una vez conseguido un procedimiento general de obtención de términos, el resto es casuística o propiedades combinatorias no abordables con hoja de cálculo. Un texto sencillo para ampliar el tema es

https://web.archive.org/web/20140617132401/http://danieldockery.com/res/math/polygorials.pdf

En la página OEIS están incluidos más órdenes de poligoriales. A continuación se insertan algunos listados conseguidos de forma personal con nuestra función poligorial seguidos de su comprobación en OEIS:

Hexagonales

Hemos usado el código PARI

polygorial(n,k)={my(i,j);prod(i=1,n,sum(j=1,i,1+(k-2)*(j-1)))}

for(i=1,10,print1(polygorial(i,6),", "))

 

1, 6, 90, 2520, 113400, 7484400, 681080400, 81729648000, 12504636144000, 2375880867360000,…

Esta sucesión está incluida en http://oeis.org/A000680, sin destacar que se trata de poligoriales hexagonales hasta el apartado de fórmulas.

Una forma de obtener estos números es mediante la expresión

Igualmente, es fácil encontrarlos mediante la recursión a(n)=a(n-1)*C(2n,2), siendo C el número de combinaciones o un binomial (en Excel, COMBINAT). En la siguiente tabla generamos estos números mediante fórmula directa y por recursión (anterior por las combinaciones de 2n sobre 2):

Con las herramientas presentadas podríamos seguir creando poligoriales.

Heptagoriales:

1, 7, 126, 4284, 235620, 19085220, 2137544640, 316356606720, 59791398670080, 14050978687468800,… http://oeis.org/A084940

Octogoriales:

1, 8, 168, 6720, 436800, 41932800, 5577062400, 981562982400, 220851671040000, 61838467891200000,… http://oeis.org/A084941

Y así se puede seguir hasta el orden deseado. Todos tienen propiedades combinatorias interesantes, que no tienen cabida aquí.




lunes, 12 de octubre de 2020

Números de Saint-Exupéry

Reciben este nombre en la página OEIS (http://oeis.org) aquellos números que coinciden con el producto de los tres lados de una terna pitagórica. El primero, como era de esperar, es 60, que es el producto de 3, 4 y 5, elementos de la terna más sencilla que conocemos. El segundo, 480, es el producto de sus dobles, 6*8*10. Siguen infinitos de este tipo (porque también es infinito el número de ternas), y nuestro objetivo en esta entrada es analizar métodos para encontrarlos.

La idea sencilla es ir construyendo ternas y después tomar nota del producto de sus lados. El inconveniente reside en que así no podemos averiguar si un número cualquiera es de este tipo o no. Si nos preguntan si lo es 238772, no vamos a formar todas las ternas hasta llegar a él. Por eso, como en otras ocasiones, recurriremos a una función que nos responda a esa pregunta.

Algoritmo con fuerza bruta

Esta es la aproximación a un problema con la solemos comenzar en este blog. Fingimos no saber nada de la cuestión y emprendemos una búsqueda sin apoyarnos en ninguna propiedad. Usaremos la siguiente función:

Public Function Saint_Exupery(n)

Dim a, b, c, p, r

Dim s$

a = 3: b = 4: c = 5: p = 60 ‘Iniciamos valores con la terna (3, 4, 5)

s = "" ‘Recogerá soluciones

r = Sqr(n) ‘Tope de búsquedas

While a <= r And s = ""

b = a + 1 ‘Segundo cateto

p = a * b * c ‘Posible número de Saint_Exupery

While b <= r And s = ""

c = n / a / b ‘Tercer cateto

If a ^ 2 + b ^ 2 = c ^ 2 Then s = Str$(a) + Str$(b) + Str$(c) ‘Es terna pitagórica y se publica

b = b + 1

Wend

a = a + 1

Wend

Saint_Exupery = s

End Function

Con esta función podemos responder a la pregunta de si 238772 es del tipo buscado, y la respuesta es que no, porque devuelve una cadena vacía. Más adelante veremos una razón más sencilla, y es que no es múltiplo de 60.

También con ella podemos encontrar los primeros números de Saint_Exupery:

En la tabla siguiente, cada número viene acompañado de la terna de la que es producto:

 

Indirectamente, esta es una forma de ordenar ternas por el producto de sus lados.

No es este un algoritmo rápido. Para llegar a estos resultados se han necesitado 1m y 20s. Pronto veremos una simplificación.

Estos números ya están publicados en OEIS, de donde hemos obtenido su definición:

A057096                            Saint-Exupéry numbers: ordered products of the three sides of Pythagorean triangles.

60, 480, 780, 1620, 2040, 3840, 4200, 6240, 7500, 12180, 12960, 14760, 15540, 16320, 20580, 21060, 30720, 33600, 40260, 43740, 49920, 55080, 60000, 65520, 66780, 79860, 92820, 97440, 97500, 103680, 113400, 118080, 120120, 124320, 130560, 131820, 164640

(http://oeis.org/A057096)


Segundo algoritmo

En el algoritmo de fuerza bruta hemos obviado el hecho de que los lados de la terna han de ser divisores del número de Saint-Exupéry buscado. Si tenemos esto en cuenta, la búsqueda se simplifica bastante. Podemos intentar esta variante:

Public Function Saint2(n)

Dim a, b, c

jueves, 1 de octubre de 2020

Rotaciones por bloques de cifras



Unas curiosidades no muy estudiadas se producen en números cuando la mitad derecha de sus cifras se permuta con el bloque de la izquierda sin alterar el orden interno de cada bloque. Por ejemplo, 24133 es primo, pero si rotamos sus cifras por bloques, es decir, que el 33 se permuta con el 24, se convierte en 33124, que es un cuadrado. Igual le ocurre a 24547, primo, que al rotar bloques también se convierte en cuadrado: 47524.

Otros números son primos y al rotar siguen siendo primos, como 1123 y 2311. Otros permanecen cuadrados, o triangulares, y así podemos seguir recorriendo casos. Se comprende que si el número de cifras es par, la rotación es completa, y, si es impar, se deja invariante la cifra del centro. Esta operación la rotularemos como función “rotar”. Así:

ROTAR(27365)=65327
ROTAR(7654)=5476

Con la experiencia acumulada en el uso de la hoja de cálculo, no es complicado diseñar esta función “rotar”. Para ello necesitamos dos funciones que hemos usado varias veces en este blog, como son NUMCIFRAS y TROZOCIFRAS. 

Sus listados los puedes consultar en nuestra entrada 


La primera cuenta las cifras de un número, y TROZOCIFRAS devuelve las cifras del número entre dos extremos prefijados.

El listado de la función ROTAR puede ser:

function rotar(n)
dim nc,nc1,r

'rota las cifras alrededor del centro si su número es impar
nc=numcifras(n)
if nc=1 then rotar=n:exit function ‘Es de una sola cifra
if nc mod 2 = 1 then ‘Número impar de cifras
nc1=(nc+1)/2
r=trozocifras(n,1,nc1-1)*10^nc1+trozocifras(n,nc1,nc1)*10^(nc1-1)+trozocifras(n,nc1+1,nc)
else
nc1=nc/2 ‘Número par de cifras
r=trozocifras(n,1,nc1)*10^nc1+trozocifras(n,nc1+1,nc)
end if
rotar=r
end function

Así, por ejemplo:

ROTAR(198262)=262198

Lo puedes comprobar si implementas la función en tu equipo.

Búsquedas

Sobre esta operación realizaremos algunas búsquedas de curiosidades. Eliminaremos los números terminados en 0, porque llevan a resultados con números diferentes de cifras, que no resultan atractivos, y tampoco usaremos números invariantes a la operación de rotar, como puede ser 2347234. Los primeros eliminados se caracterizarán por N MOD 10 = 0, y los segundos porque ROTAR(N)=N. Los ceros interiores también pueden alterar el número de cifras, pero omitiremos esta dificultad.

Veremos a continuación algunos casos concretos:

Cuadrado que se convierte en cuadrado

Dado que en nuestras búsquedas podemos alcanzar números grandes, es útil disponer de la función ROTAR en una versión para PARI, que es el instrumento que usamos cuando la hoja de cálculo no satisface las exigencias que le imponemos. El listado que sigue se limita a traducir paso por paso el algoritmo usado para hoja de cálculo:

numcif(n)=1+logint(n,10)
cutdigit(a, p, q)=(a%10^q)\10^(p-1)
rotar(n)={my(nc=numcif(n),r=0,nc1=0);if(nc==1,r=n);
if(nc%2==1&&nc<>1,nc1=(nc+1)/2;r=cutdigit(n,1,nc1-1)*10^nc1+cutdigit(n,nc1,nc1)*10^(nc1-1)+cutdigit(n,nc1+1,nc));
if(nc%2==0,nc1=nc/2;r=cutdigit(n,1,nc1)*10^nc1+cutdigit(n,nc1+1,nc));return(r)}
for(i=10,10^8,if(issquare(i),j=rotar(i);if(i%10<>0&&j<>i&&issquare(j),print1(i,", "))))

Obtendremos:

144, 169, 441, 961, 16641, 25281, 41616, 81225, 1002001, 1004004, 1006009, 1008016, 1214404, 2253001, 2256004, 2259009, 3297856, 4004001, 4008004, 4044121, 6255001, 8567329, 9006001, 14010049, 20412324, 23242041, 32410249, 56040196, 81649296, 82410084, 92968164,…

Hemos indicado  que algunos ejemplos con ceros interiores pueden alterar el número de cifras con la función ROTAR.


Primo que se convierte en primo

En el anterior código en PARI podemos sustituir las llamadas a la función issquare por la de isprime, con lo que obtendremos resultados similares, de números primos que siguen siendo primos con una rotación de bloques. Los primeros resultados son:


13, 17, 31, 37, 71, 73, 79, 97, 107, 113, 149, 157, 167, 179, 199, 311, 337, 347, 359, 389, 701, 709, 733, 739, 743, 751, 761, 769, 907, 937, 941, 953, 967, 971, 983, 991, 1103, 1109, 1123, 1163, 1181, 1193, 1301, 1303, 1319, 1321, 1327, 1361, 1777, 1783, 1907, 1913, 1931, 1933, 1949, 1951, 1979,…

Entre ellos figura el 73, el número de Sheldon, presentado en la serie de televisión “Big Bang”. No solo se convierte en el primo 37, sino que también se intercambian sus números de orden como primos:
73=Primo(21) y 37=Primo(12).

Entre ellos también figuran años primos del siglo XX y de los siglos con número de orden par.


Caso primo-cuadrado

Volvemos al caso que presentamos en los primeros párrafos, el de los primos que se convierten en cuadrados al rotar. Al igual que en el caso anterior, bastará usar las funciones isprime y issquare en el lugar adecuado. Resultará este listado:


61, 163, 487, 691, 1621, 2137, 2179, 2467, 2953, 3631, 9601, 21157, 21319, 24001, 24133, 24547, 25087, 36559, 36637, 36901, 49411, 49801, 56101, 56527, 64303, 69997, 84631, 121579, 124669, 129769, 136309, 156217, …

Entre ellos aparecen los que solo sufren un intercambio de una cifra, como 69997.

Si seguimos jugando con las dos funciones issquare y isprime comprobaremos que la situación es reversible, como era de esperar, pero con el orden cambiado.

 Siguiendo nuestro criterio de no cansar, y habiendo repetido el procedimiento, sólo se incluyen algunos listados más por si los lectores desean reproducirlos:


Triangular - triangular

153, 351, 5565, 6105, 6555, 53956, 56953, 81003, 128778, 490545, 778128, 1252153, 1532125, 1613706, 7063161, 7401628, 7966036, 11061456, 14561106, 16287778, 22301181, 23787753, 32534211, 42113253, 44006271, 49109005, 50717556, 55466778, 67785546, 75565071, 77532378, 77781628,…

En ellos se advierte el efecto de los ceros interiores, como en 81003, que alteran el efecto de la rotación.

Oblongo – Oblongo

20306, 162006, 2504306, 22122912, 29122212, 44602362, 65068422, 84226506,…

Resultan muy pocos, pero esto es frecuente en este tipo de números.