Autor Tema: Función para ordenar números con dígitos repetidos en una base arbitraria

0 Usuarios y 1 Visitante están viendo este tema.

11 Marzo, 2020, 01:24 am
Leído 136 veces

lfqm

  • Novato
  • Mensajes: 100
  • Karma: +0/-0
  • Sexo: Masculino
¡Buen día jóvenes matemáticos!

Me encuentro haciendo investigación en teoría de juegos y me topé con un problema que creo entra en la categoría de teoría de números (corregidme si no es así). Lo he pensado ya un rato y no logro dar con una solución.

Mi problema es el siguiente, me gustaría encontrar una función con argumento en los naturales que me dé en orden de menor a mayor, los números con una cierta longitud fija que no tienen dígitos repetidos en una base arbitraria. Pongo el siguiente ejemplo para explicarme mejor:

Supongamos que me interesan los números con \( 2 \) dígitos de longitud en base \( 3 \), estos son (de menor a mayor):

\( 00 \), \( 01 \), \( 02 \), \( 10 \), \( 11 \), \( 12 \), \( 20 \), \( 21 \) y \( 22 \), es decir los número del cero al ocho.

En este caso me interesa una función \( f:\mathbb{N} \longrightarrow{\mathbb{N}} \) tal que \( f(1) = 1 \), \( f(2) = 2 \), \( f(3) = 3 \), \( f(4) = 5 \), \( f(5) = 6 \) y \( f(6) = 7 \), ya que \( 1 \), \( 2 \), \( 3 \), \( 5 \), \( 6 \) y \( 7 \) son los número que en base \( 3 \) y considerando \( 2 \) dígitos de longitud no tienen dígitos repetidos (\( 01 \), \( 02 \), \( 10 \), \( 12 \), \( 20 \), \( 21 \) respectivamente).

En general lo que me interesa es una función que me haga esto mismo pero para una longitud y base arbitrarias... bueno, en realidad tengo la restricción de que la base siempre es mayor o igual que la longitud del número, no sé si ayude en algo.

He encontrado como saber cuantos de estos números existen y que forma tiene el menor de ellos... pero no como obtenerlos ordenados.

Una expresión analítica sería genial, aunque en realidad me interesa una forma de programarlo en algún software matemático sin tener que leer explícitamente los dígitos del número anterior.

Espero puedan ayudarme aunque sea con una idea  ;D