lunes, 20 de junio de 2022

Números con cifras crecientes o decrecientes (2)

Comenzamos las búsquedas donde las dejamos en la entrada anterior, con los cubos.

Cubos con cifras decrecientes

Mediante un proceso similar se pueden encontrar los cubos perfectos que presentan cifras decrecientes (en sentido amplio). En PARI vale todo lo explicado, pero hay que sustituir vecsort(digits(m)), por vecsort(digits(m),,4), que ordena las cifras en sentido contrario.

En este caso sí aparecen infinitos cubos, pero la conjetura que se deduce de ellos es distinta:

Cubos: 0, 1, 8, 64, 1000, 8000, 64000, 1000000, 8000000, 64000000, 1000000000, 8000000000, 64000000000, 1000000000000, 8000000000000, 64000000000000, 1000000000000000, 8000000000000000, 64000000000000000, 1000000000000000000, 8000000000000000000, 64000000000000000000, 1000000000000000000000,…

Conjetura: Todos los cubos con cifras decrecientes (en sentido amplio) en base10 pertenecen a uno de estos tipos: 0, 10^k, 8*10^k, 64*10^k, con k entero mayor o igual a cero.

Como la anterior, la hemos verificado hasta 10^24, por lo que también queda abierta hasta que se encuentre un contraejemplo.

Como curiosidad, por si a alguien le interesa, se reproduce el código de nuestra función CIFRAS_DECRECIENTES, que no requiere más explicaciones:

Función en VBASIC

Public Function cifras_decrecientes(n) As Boolean

Dim j, l

Dim c As Boolean

l = numcifras(n)

c = True

If l > 1 Then

j = l

While j >= 2 And c

If cifra(n, j) < cifra(n, j - 1) Then c = False

j = j - 1

Wend

End If

cifras_decrecientes = c

End Function

Por dar variedad al tema, no repetiremos algunos ejemplos tratados en la entrada anterior. Podemos buscar otros tipos. Por ejemplo, los primos. En Vbasic de Excel puedes usar nuestra función ESPRIMO, muy usada en nuestras publicaciones. Puedes buscar en Google ESPRIMO Roldán hoja. Si solo escribes ESPRIMO te aparecen unos productos informáticos. Con ella y CIFRAS_DECRECIENTES, puedes buscar los primeros ejemplos de primos con cifras decrecientes (en sentido amplio):

2, 3, 5, 7, 11, 31, 41, 43, 53, 61, 71, 73, 83, 97, 211, 311, 331, 421, 431, 433, 443, 521, 541, 631, 641, 643, 653, 661, 733, 743, 751, 761, 773, 811, 821, 853, 863, 877, 881, 883, 887, 911, 941, 953, 971, 977, 983, 991, 997

Los tienes en http://oeis.org/A028867. En esa página figura una versión en PARI de la búsqueda que es mejorable. Proponemos mejor esta otra:

ok(n) = digits(n) == vecsort(digits(n),,4) && isprime(n)

for(i=2,10^3,if(ok(i),print1(i,", ")))

La comprobamos en la página de PARI/GP:


Números de Fibonacci con cifras decrecientes

Otro ejemplo interesante es el de los números de Fibonacci, porque parece que dan lugar también a una sucesión finita:

1, 2, 3, 5, 8, 21, 55, 610, 987

Para hoja de cálculo podemos usar nuestra función ESFIBO, que determina si un número es de Fibonacci o no.

Public Function esfibo(n) As Boolean 'Devuelve verdadero si N es de Fibonacci

Dim f As Boolean

Dim a

f = False

a = 5 * n * n + 4

If escuad(a) Then f = True

a = 5 * n * n - 4

If escuad(a) Then f = True

esfibo = f

End Function

Se basa en popular criterio para saber si un número pertenece a la sucesión de Fibonacci. Lo puedes consultar en Gaussianos:

https://www.gaussianos.com/algunas-curiosidades-sobre-los-numeros-de-fibonacci/

Si aplicamos esta función ESFIBO con CIFRAS_DECRECIENTES llegaremos al resultado presentado.

En estos casos de sucesiones finitas hay que avanzar bastante para plantear una conjetura. Por eso debemos pasar a PARI, que llega más lejos en sus cálculos:

ok(n) = digits(n) == vecsort(digits(n),,4) && (issquare(5*n^2+4) || issquare(5*n^2-4))

for(i=2,10^6,if(ok(i),print1(i,", ")))

Hasta 10^6 devuelve los mismos resultados que la hoja de cálculo, salvo el 1, que se da por supuesto:

Le hemos exigido algo más, que llegue a 10^8, y no ha aparecido ningún ejemplo más.

Podemos intentar generar los números de Fibonacci según su definición. Con este otro algoritmo hemos recorrido los 10^4 primeros con el mismo resultado:

m=1;n=1;for(i=1,10^4,p=m+n;m=n;n=p;if(digits(p) == vecsort(digits(p),,4),print1(p,", ")))

En la sucesión  A273046, el colaborador  Charles R Greathouse IV, llega a la misma conclusión de que es probable que no existan más ejemplos.

Es interesante que en una misma cuestión hayamos presentado tres sucesiones finitas. Es una especie de probabilidad decreciente, de tal forma que, al crecer mucho los números, la misma tiende a cero, perdiendo la posibilidad de aparición de ejemplos nuevos. Como esto es solo una explicación no matemática, se quedarán en conjeturas.

Números de Bouncy

Son aquellos números tales que sus cifras no son crecientes ni decrecientes. Como siempre queda la duda de si hablamos de orden en sentido amplio o estricto, diremos que, en el segundo caso, están publicados en http://oeis.org/A152054, con orden estricto. Probemos con el orden amplio. Bastará unir las funciones que hemos usado (para crecientes y para decrecientes) mediante las conectivas lógicas NOT y AND:

NOT CIFRAS_CRECIENTES(N) AND NOT CIFRAS_DECRECIENTES(N)

Como era de esperar, casi todos los números aparecen:

101, 102, 103, 104, 105, 106, 107, 108, 109, 120, 121, 130, 131, 132, 140, 141, 142, 143, 150, 151, 152, 153, 154, 160, 161, 162, 163, 164, 165, 170, 171, 172, 173, 174, 175, 176, 180, 181, 182, 183, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197

No obtenemos números de una o dos cifras porque todos son crecientes o decrecientes en sentido amplio. Existirán diferencias entre los dos tipos de orden, como por ejemplo con el número 1133 que no es creciente en sentido estricto, pero sí lo es en el amplio.

En OEIS, para evitar ambigüedades, al amplio lo identifican como nonincreasing o nondecreasing.

Son tantos estos números que no merece la pena dividirlos entre los distintos tipos.

No hay comentarios: