Étant donné un entier non négatif ( n
), créez une fonction qui retourne n
dans l'ordre alphabétique, selon l'orthographe littérale de chaque chiffre dans n
.
Exemples:
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
Remarque: les opérations dans l'exemple ne sont qu'illustratives et n'ont pas besoin d'être incluses dans la sortie. Seul le numéro trié par ordre alphabétique doit être renvoyé.
Il s'agit de code-golf, donc le code le plus court en octets l'emporte.
Modifier: l'entrée peut être prise dans le format souhaité qui convient le mieux à votre langue, et la sortie peut être produite de la même manière en revenant de la fonction ou de l'impression. L'entrée sera toujours un nombre naturel (y compris 0) et ne contiendra pas de 0 en tête.
Entrée OEIS pertinente (A057846) trouvée par @DomHastings
00
....
849
, cela signifie-t-il que nous sommes autorisés à imprimer le nombre 849
mais pas la chaîne "849"
? OMI, ce n'est qu'un format d'E / S encombrant (mauvais!) En plus d'un défi parfaitement bien.
001
sortie? S'ils sont significatifs et que le résultat ne l'est pas 1
, la plupart des langues nécessiteront des chaînes en entrée pour le simple fait qu'elles sont grossières, peu pratiques et généralement impossibles à demander à l'analyseur de conserver les zéros de tête dans les nombres littéraux de base 10.