Permet de créer un système de nombres où le plus grand chiffre de la nième valeur (en comptant de droite à gauche) d'une longueur de nombre m est toujours égal à m - n + 1. Pour donner un exemple, le plus grand nombre à 5 chiffres exprimable dans ce système est écrit 12345. Mis à part le nombre de chiffres disponibles pour être utilisés dans un endroit particulier étant restreint, toutes les autres incrémentations sont standard. À savoir lorsqu'un chiffre doit dépasser sa limite de chiffres, nous en ajoutons un au chiffre suivant.
Voici comment le comptage serait représenté dans ce système:
1; 10; 11; 12; 100; 101; 102; 103; 110; 111; 112; 113; 120; 121; 122; 123; 1000; 1001 ...
Votre tâche consiste à écrire une fonction qui prend un nombre standard de base 10 et le convertit dans mon système de numérotation.
Un code plus court est préférable. Bonne chance!
** Si vous avez besoin de chiffres après 9 (vous devriez), vous pouvez choisir d'utiliser des lettres, ou vous pouvez renvoyer un nombre à 2 chiffres comme élément d'une liste.
Cas de test
10 -> 111
20 -> 1003
30 -> 1023
50 -> 1123
100 -> 10035
23116 -> 1234567
21977356 -> 123456789A
Le dernier cas peut être incroyablement lent à exécuter en fonction de la façon dont vous avez implémenté. Vous n'avez pas besoin de l'exécuter s'il prend trop de temps ou utilise trop de mémoire. Notez cependant qu'il existe des moyens de l'exécuter rapidement et en utilisant peu de mémoire.
100 -> 10035
plutôt que 100 -> 10033
, pouvez-vous vérifier?