Défi
Prenez un nombre et sortez-le avec 4 chiffres ou moins en utilisant des lettres et des chiffres. Par exemple; 270,030
se transformerait en 270K
.
Clé
Milliard -> B
Million -> M
Mille -> K
Règles
- Vous pouvez choisir d'accepter les nombres d'entrée qui incluent des virgules délimitant toutes les trois décimales (comme
123,456,789
). - Arrondi au plus proche, demi-hauteur.
- Les chiffres ne feront que monter
999,499,999,999
. - La partie mantisse de la réponse doit être d'au moins 1.
- Toutes les lettres doivent être en majuscules et comme spécifié ci-dessus.
- Les sorties doivent comporter 4 chiffres ou moins. (y compris les lettres telles que
B
,K
etM
) - Les sorties doivent être aussi précises que possible sur le plan mathématique. Exemple:
15,480
->20K
PAS OK15,480
->15.5K
BON
- S'il existe plusieurs sorties avec la même précision mathématique, renvoyez l'une ou l'autre. Exemple:
1000
->1000
BON1000
->1K
BON
Exemples:
1.234.567 -> 1.23M 999,500 -> 1M 999,499 -> 999K 102 -> 102 1000 -> 1K 1001 -> 1001 100 000 -> 100 K 12,345,678,912 -> 12,3B 1.452.815.612 -> 1.45B
Soumissions
- Il s'agit de code-golf , donc la solution la plus courte dans chaque langue l'emporte
- Les échappatoires standard s'appliquent
T -> trillion
dans la clé), j'ai donc supposé que c'était la limite supérieure. Je vais demander, mais c'est une perte d'un octet sinon.Python 3 , 127 octets
Essayez-le en ligne!
la source
def f(n):l=len(str(n))-4;return[n,f"{round(n,~l):,}"[:4].replace(*",.").rstrip('.')+"KMBT"[-~l//3]][n>9999]
JavaScript (ES7), 74 octets
Afficher l'extrait de code
JavaScript (ES6), 80 octets
Afficher l'extrait de code
la source