Continuamos el tema de la entrada anterior. Ahora pasamos a equilibrados en bases distintas de 10 y otros tipos de equilibrados.
Equilibrados en otras bases
Estudiábamos en la anterior entrada los números digitalmente equilibrados en base 10. Descubrimos que su distribución es lineal en tramos entre múltiplos de potencias de 10, y presentamos funciones para descubrir si un número es equilibrado o no y poder contarlos. Ampliamos ahora el concepto a digitalmente equilibrados en otras bases.
Equilibrados binarios
Serán aquellos que presenten los unos y ceros con la misma frecuencia (y también todo unos o todo ceros). Seguimos aquí con el problema de los ceros a la izquierda, que no nos deben confundir. Con la función presentada en la anterior entrada, esquilibrado(N,2) podremos encontrar los primeros:
Vemos que presentan o todo 1 o la mitad 1 y la otra mitad 0. Obsérvese que este concepto es más general que el presentado en http://oeis.org/A031443
Si contamos los equilibrados anteriores a un número con la función CEQ (ver entrada anterior) observamos que la distribución es lineal a trozos, con intervalos constantes. Lo vemos en el siguiente gráfico, construido sobre periodos de 100 en 100:
Los periodos constantes se corresponden con intervalos que van desde una potencia par de 2 a otra impar, porque entonces los números tendrían un número impar de cifras y sólo admitirían la solución 1111… En el gráfico se distinguen los comprendidos entre 256 y 512, y más arriba el que va de 1024 a 2048.
Idéntico fenómeno se percibe en otras bases. Por ejemplo, en base 3 la distribución sería
Y en base 4:
Con pares e impares
Hemos leído otra definición de equilibrado en base 10: es aquel número que contiene el mismo número de dígitos pares que de impares. También es un problema combinatorio.
En primer lugar hay que considerar que el número total de dígitos de estos números ha de ser par. Tal como consideramos en el primer caso de esta serie, habrá que comenzar por contar las distintas distribuciones de PAR e IMPAR que se pueden dar. Por ejemplo, con seis cifras se pueden presentar así: PPPIII, PPIPPII, PPIIPI, PPIIIP, PIPPII, PIPIIP, PIIPPI,….Son permutaciones con repetición de dos símbolos tomados de seis en seis, es decir: 6!/(3!3!)=20, y después rellenar los elementos P e I con los cinco casos de cada clase, es decir con variaciones con repetición de cinco elementos tomados las veces necesarias. Aquí sería 20*53*53=312500
En general, para n pares y n impares:
Por ejemplo, con cuatro cifras nos resultaría 24/(2*2)*54=3750 y con dos: 2/(1*1)*52=50.
Estas fórmulas contienen los casos en los que el cero es la cifra inicial y el número de cifras disminuye en una unidad. La comprobación y en su caso corrección de esto la podemos efectuar contando los equilibrados entre dos números.
Descubrimiento de equilibrados
Otro enfoque es el de descubrir si un número de 2n cifras es equilibrado en este sentido. Podríamos recorrer sus dígitos y ver si el carácter PAR y el IMPAR se equilibran. Llegaríamos a un algoritmo semejante al siguiente:
Public Function esequilibradop(n) As Boolean
Dim par, impar
Dim i, nc, co
Dim s$, ca$
par = 0: impar = 0 ‘Contadores de cifras pares e impares
s$ = Str$(n) ‘En las cuatro líneas siguientes convertimos el número en string
nc = Len(s$)
s$ = Right$(s$, nc - 1)
nc = nc - 1
If nc / 2 <> nc \ 2 Then esequilibradop = False: Exit Function ‘Número impar de cifras
For i = 1 To nc
ca$ = Mid$(s$, i, 1)
co = Asc(ca$) – 48 ‘Se halla el valor del dígito
If co / 2 = co \ 2 Then par = par + 1 Else impar = impar + 1 ‘Se acumula el contador
Next i
If par = impar Then esequilibradop = True Else esequilibradop = False
End Function
Con esta función es fácil contar equilibrados en un intervalo
Public Function contareq(m, n)
Dim a, c
If m > n Then a = m: m = n: n = a
c = 0
For a = m To n
If esequilibradop(a) Then c = c + 1
Next a
contareq = c
End Function
Por el problema del cero inicial, esta función contará menos casos que la anterior de tipo combinatorio. Lo vemos en esta tabla:
Para dos cifras el desfase es de 5, correspondiente a los casos 01, 03, 05, 07, 09.
Para cuatro cifras es de 375, que coincide con este cálculo: 3!/(2!1!)*53=375 y para seis cifras con 5!/(3!2!)*55=31250. Te dejamos razonar esto y descubrir una relación existente en la tabla.
Otras definiciones
Aún hemos encontrado más definiciones de números equilibrados. Las dejamos ahí por si las deseas estudiar:
- Un número es equilibrado cuando el número de veces que aparece en él una cifra par es IMPAR, y el número de cifras impares es PAR.
- Un número de tres cifras es equilibrado si la de las decenas es el promedio de las otras dos.
- La misma definición anterior, pero sin exigir que sean las decenas.
Hasta es posible que te inventes alguna nueva definición. Esto es como un juego.
No hay comentarios:
Publicar un comentario