3 votos

Cómo obtener la N-ésima palabra de una secuencia

Supongamos que tengo un alfabeto (por ejemplo, formado por ABCDEF) y se define un orden lexicográfico, es decir

A -> B ... -> F -> AA -> AB .. -> AF -> BA -> BB -> ... -> BF ... -> FF -> AAA -> ...

¿Hay alguna forma de comprobar cuál es la N-ésima palabra de la secuencia anterior? Por ejemplo, la primera obra es "A", la séptima es "AA".

6voto

dawiba Puntos 31

Sólo parece un sistema de numeración con base 6 en lugar de 10. Así que simplemente usaría la ecuación normal para cambiar de base.

Como $A=0, B=1, C=2, D=3, E=4, F=5$ y utilizar la fórmula normal para cambiar el número entre el sistema decimal y el sistema basado en el 6.


En realidad, parece un poco más complicado que eso, ya que no hay ningún "cero" en este sistema. Definir $S_n = \sum_{i=0}^n 6^n$ . Dado cualquier $N$ , dejemos que $j$ sea el mayor número entero tal que $S_j \leq N$ . Sea $N_0 = N - S_j$ .

Ahora cambia $N_0$ en base 6, y rellena los dígitos de forma que obtengas $j+1$ muchos dígitos. Luego, vuelve a cambiar al sistema alfabético.

Por ejemplo, si quiere encontrar la palabra 51, se dará cuenta de que $43 = S_2 < 51$ Así que $N_0 = 51-43 = 8$ . $8$ en base 6 es $12$ Así que rellena los ceros de delante para obtener $012$ . Finalmente, la palabra que buscabas sería $ABC$ .

0voto

Fritz Puntos 126

Como aquí tienes seis alfabetos, vas a tener que convertir la n (término que quieres encontrar, en un número de base 6).

Por ejemplo, si quieres encontrar el 17º carácter de esa secuencia tendrás que escribir algo como (17) en base 10 = (25) en base 6.

A continuación, asigna a cada alfabeto un número, de modo que tendrás A = 1. B = 2. C = 3. D = 4. E = 5. F = 6.

Por lo tanto, el número 25 en base seis es BE. Así que BE es el número 17 de la secuencia.

0voto

Christopher Puntos 16

Esta es la misma pregunta que "¿Cómo cambiar un número en sistema decimal a sistema senario?". Supongamos que N=a1*6+a2*6^2+a2*6^3+...+ai*6^i(a1,a2,...,ai en {0,1,2,3,4,5}). La letra j de la palabra pertenece a aj(A si aj=1, B si aj=2 y así sucesivamente).

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