Dato un numero intero non negativo ( n
), creare una funzione che ritorni n
in ordine alfabetico, in base all'ortografia letterale di ogni cifra in n
.
Esempi:
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: le operazioni nell'esempio sono solo illustrative e non devono essere incluse nell'output. È necessario restituire solo il numero in ordine alfabetico.
Questo è code-golf, quindi vince il codice più breve in byte.
Modifica: l'input può essere preso in qualsiasi formato desiderato più adatto alla tua lingua e l'output può essere prodotto in modo simile tornando dalla funzione o dalla stampa. L'input sarà sempre un numero naturale (incluso 0) e non conterrà 0 iniziali.
Voce OEIS pertinente (A057846) trovata da @DomHastings
00
....
849
, significa che ci è permesso stampare il numero 849
ma non la stringa "849"
? IMO questo è solo un ingombrante formato I / O (male!) In cima a una sfida perfettamente valida.
001
? Se sono significativi e il risultato non lo è 1
, la maggior parte delle lingue richiederà stringhe come input per il semplice fatto che è rozzo, poco pratico e di solito quasi impossibile chiedere al parser di conservare gli zeri iniziali in base 10 numeri letterali.