Introdução
Um xenódromo na base n é um número inteiro em que todos os seus dígitos na base n são diferentes. Aqui estão algumas seqüências OEIS de xenodromos.
Por exemplo, na base 16, FACE
, 42
e FEDCBA9876543210
são algumas xenodromes (que são 64206
, 66
e 18364758544493064720
na base 10), mas 11
e DEFACED
não são.
Desafio
Dada uma base de entrada, n , produza todos os xenodromos dessa base na base 10 .
A saída deve estar na ordem do menor para o maior. Deve ficar claro onde um termo na sequência termina e um novo começa (por exemplo, [0, 1, 2]
fica claro onde 012
não está).
n será um número inteiro maior que 0.
Esclarecimentos
Esse desafio faz E / S especificamente na base 10 para evitar manipular números inteiros e sua base como seqüências de caracteres. O desafio é lidar abstratamente com qualquer base. Como tal, estou adicionando esta regra adicional:
Os números inteiros não podem ser armazenados como seqüências de caracteres em uma base diferente da base 10.
Seu programa deve ser capaz de lidar teoricamente com n razoavelmente alto se não houver tempo, memória, precisão ou outras restrições técnicas na implementação de uma linguagem.
Isso é código-golfe , então o programa mais curto, em bytes, vence.
Exemplo de entrada e saída
1 # Input
0 # Output
2
0, 1, 2
3
0, 1, 2, 3, 5, 6, 7, 11, 15, 19, 21
4
0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 18, 19, 24, 27, 28, 30, 33, 35, 36, 39, 44, 45, 49, 50, 52, 54, 56, 57, 75, 78, 99, 108, 114, 120, 135, 141, 147, 156, 177, 180, 198, 201, 210, 216, 225, 228
ssize_t
. Está quebrando desta maneira aceitável?