Вызов
Возьмите число и выведите его из 4 цифр или менее, используя буквы и цифры. Например; 270,030
превратится в 270K
.
ключ
Млрд -> B
Миллион -> M
Тысяча -> K
правила
- Вы можете принять входные числа, которые включают запятые, разделяющие каждые три знака после запятой (например,
123,456,789
). - Округление до ближайшего, до половины.
- Числа будут только до
999,499,999,999
. - Мантисса часть ответа должна быть как минимум 1.
- Все буквы должны быть в верхнем регистре и как указано выше.
- Выходы должны состоять из 4 или менее цифр. ( в том числе , такие как буквы
B
,K
иM
) - Выходы должны быть максимально математически точными. Пример:
15,480
->20K
НЕ ОК15,480
->15.5K
ХОРОШО
- Если есть несколько выходов с одинаковой математической точностью, вернуть либо один. Пример:
1000
->1000
ХОРОШО1000
->1K
ХОРОШО
Примеры:
1,234,567 -> 1,23M 999 500 -> 1 млн 999,499 -> 999K 102 -> 102 1000 -> 1K 1001 -> 1001 100 000 -> 100 000 12 345 678 912 -> 12,3 В 1 452 815 612 -> 1,45 В
Материалы
- Это Код-гольфпоэтому самое короткое решение на каждом языке выигрывает
- Применяются стандартные лазейки
T -> trillion
в ключе), поэтому я предположил, что это был верхний предел. Я спрошу, но это потеря одного байта в противном случае.Python 3 , 127 байт
Попробуйте онлайн!
источник
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 байта
Показать фрагмент кода
JavaScript (ES6), 80 байт
Показать фрагмент кода
источник