10 votos

Brecha en la cuenta de las bases para que un número ' representación es palindrómico (por concatenación de representaciones decimales)

He escrito un pequeño programa que calcula la base de la representación de un número, y comprueba si la representación es un palíndromo (también comprobar si la longitud es al menos 2, ya que una longitud de 1 es trivial capicúa).

Lo que he encontrado es que hay una "brecha", que se hace más grande a medida que los números que se considera que es más alto. En la imagen de abajo, he considerado que todos los números de 2 a 30000. También parece ser de 2 pequeñas lagunas que se forman en entre cada uno de los "segmentos".

Hay una razón por la que existe una brecha?

Edit: la condición de ser capicúa están considerando la concatenación de las representaciones decimales utilizando el código que se encuentra aquí: http://stackoverflow.com/questions/10184577/java-recursion-program-convert-a-base-10-number-to-any-base. Por ejemplo, considero que 5999 palindrómica en base 111, debido a que su representación es de 54 : 5 (base 111), y la concatenación de los dígitos (545) es capicúa.

Aquí es teniendo en cuenta todos los números de $\le 3*10^4$:

The number n vs the number of base representations of n for which it is a palindrome.

Aquí es teniendo en cuenta todos los números de $\le 10^5$:

enter image description here

1voto

mjqxxxx Puntos 22955

No tengo una respuesta de por qué, pero he explorado la función (usando el código de Python a continuación), y se identificaron las principales ramas. La primera división es en las bases (de la parte superior del tronco) y no pares de bases (la parte inferior del tronco). La segunda división es en las bases que son divisibles por $5$ (la parte superior de la rama en cada tronco) y las bases que no son.

Hay otras mejoras que se pueden ver en una inspección más cercana, así. Por ejemplo, la siguiente figura muestra sólo los bases que son múltiplos de $10$, con el dominante $\sqrt{b}$-ish comportamiento resta off. Está claro que hay una diferencia consistente entre las bases que son divisibles por $20$ y aquellos que sólo son divisibles por $10$.

enter image description here

def decDigits(n, b):
 si n==0: return []
 volver decDigits((n - (n%b))/b, b) + lista(str(n%b))

def isPalindrome(n, b):
 fr = decDigits(n, b)
 rv = lista(fr)
rv.reverse()
 volver fr == rv

def numBases(n):
 volver len(filter(lambda(a b):isPalindrome(n, b), xrange(2, n)))

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X