Dado um número inteiro não negativo ( n
), crie uma função que retorne n
em ordem alfabética, de acordo com a ortografia literal de cada dígito em n
.
Exemplos:
Input: 101
>> one, zero, one
>> one, one, zero
Output: 110
Input: 31948
>> three, one, nine, four, eight
>> eight, four, nine, one, three
Output: 84913
Input: 5544
>> five, five, four, four
>> five, five, four, four
Output: 5544
Input: 1234567890
Output: 8549176320
Nota: as operações no exemplo são apenas ilustrativas e não precisam ser incluídas na saída. Apenas o número classificado alfabeticamente precisa ser retornado.
Isso é código-golfe, então o código mais curto em bytes vence.
Editar: a entrada pode ser obtida em qualquer formato desejado que melhor se adapte ao seu idioma e a saída pode ser produzida da mesma forma retornando da função ou impressão. A entrada sempre será um número natural (incluindo 0) e não conterá os zero iniciais.
Entrada OEIS relevante (A057846) encontrada por @DomHastings
00
....
849
, isso significa que podemos imprimir o número, 849
mas não a string "849"
? Na IMO, esse é apenas um formato de E / S complicado (ruim!), Além de um excelente desafio.
001
? Se eles são significativos e o resultado não é 1
, a maioria dos idiomas exigirá cadeias de caracteres como entrada, pelo simples fato de ser bruto, impraticável e geralmente quase impossível pedir ao analisador para preservar os zeros à esquerda nos números literais da base 10.