Herausforderung
Nehmen Sie eine Zahl und geben Sie sie mit maximal 4 Ziffern aus Buchstaben und Zahlen aus. Beispielsweise; 270,030
würde sich in verwandeln 270K
.
Schlüssel
Milliarden -> B
Millionen -> M
Tausend -> K
Regeln
- Sie können auch Eingabenummern akzeptieren, die Kommas enthalten, die alle drei Dezimalstellen begrenzen (z. B.
123,456,789
). - Rund zum nächsten, halb hoch.
- Zahlen werden nur bis gehen
999,499,999,999
. - Der Mantissen-Teil der Antwort sollte mindestens 1 sein.
- Alle Buchstaben müssen in Großbuchstaben und wie oben angegeben sein.
- Die Ausgänge müssen 4 oder weniger Stellen umfassen. (einschließlich Buchstaben wie
B
,K
, undM
) - Die Ausgaben müssen so mathematisch genau wie möglich sein. Beispiel:
15,480
->20K
NICHT OK15,480
->15.5K
GUT
- Wenn mehrere Ausgaben mit derselben mathematischen Genauigkeit vorhanden sind, geben Sie eine zurück. Beispiel:
1000
->1000
GUT1000
->1K
GUT
Beispiele:
1,234,567 -> 1,23M 999.500 -> 1M 999.499 -> 999K 102 -> 102 1000 -> 1K 1001 -> 1001 100.000 -> 100K 12,345,678,912 -> 12,3B 1,452,815,612 -> 1,45B
Einsendungen
- Dies ist Code-Golf , daher gewinnt die kürzeste Lösung in jeder Sprache
- Standardschlupflöcher gelten
T -> trillion
im Schlüssel) darzustellen , daher habe ich angenommen, dass dies die Obergrenze ist. Ich werde fragen, aber sonst ist es ein Ein-Byte-Verlust.Python 3 , 127 Bytes
Probieren Sie es online aus!
quelle
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 Byte
Code-Snippet anzeigen
JavaScript (ES6), 80 Byte
Code-Snippet anzeigen
quelle