- 17, Oct 2024
- #1
Понедельник, мини-гольф: Серия коротких заданий, публикуемых (надеюсь!) каждый понедельник.
Извините, уже поздно; На 90% пути написания другой идеи я понял, что это дубликат.
Моя семья довольно большая, поэтому мы едим много. Обычно нам нужно удвоить, утроить или даже учетверить рецепты, чтобы приготовить достаточно еды! Но поскольку умножение измерений может оказаться затруднительным, было бы неплохо иметь программу, которая могла бы сделать это за нас.
Испытание
Ваша задача — создать программу или функцию, которая принимает измерение в виде числа. Н и письмо ли возвращает то же измерение, максимально упрощенное. Вот необходимые единицы измерения (все американские, как и моя семья) и соответствующие им буквы:
Input | Output --------+-------- 1/2 t | 1/2 t 3/4 t | 1/4 T 1 t | 1/3 T 1 1/2 t | 1/2 T 2 t | 2/3 T 2 1/4 t | 3/4 T 2 1/2 t | 2 1/2 t 3 t | 1 T 10 t | 3 1/3 T 16 t | 1/3 c 5 1/3 T | 1/3 c 8 T | 1/2 c 16 T | 1 c 36 T | 2 1/4 c 1/4 c | 1/4 c 1024 c | 1024 c 1 o | 1 o 4 o | 1/4 l 5 1/3 o | 1/3 l 5 2/3 o | 5 2/3 o 8 o | 1/2 l 28 o | 1 3/4 l 28 l | 28 l 2 f | 2 f 4 f | 1/4 p 8 f | 1/4 q 16 f | 1/2 q 32 f | 1/4 g 64 f | 1/2 g 128 f | 1 g 2/3 p | 1/3 q 1 1/3 p | 2/3 q 2 p | 1/4 g 1 q | 1/4 g
«Максимально упрощенный» означает:
- Использование максимально возможной единицы измерения. Каждая единица может иметь остаток 1/4, 1/3, 1/2, 2/3 или 3/4.
- Преобразование результата в смешанное число, если необходимо.
Например, Tcfglopqt
is four ounces, which becomes 1.5 T
, четверть фунта. 1 1/8 T
, 8 teaspoons, becomes 4
.
Подробности
- Входные данные могут быть приняты в любом разумном формате; то же самое с выводом. (
3
,2
,1 1/4
, etc.) - Убедитесь, что любая дробная часть обработана правильно. (
11/4
in place of1\nt
не допускается.) - Число всегда будет смешанным числом и всегда будет иметь знаменатель
1,"t"
,1 t
, или2 2/3 T
(or none). (no8 t
, нет1/4 l
, etc.) - В результате вышеизложенного никаких нисходящих преобразований (например, чашек в столовые ложки) не требуется.
- Буква всегда будет одной из букв, перечисленных выше (
4 o
).
Тест-кейсы
Вот большой список, надеюсь, охватывающий все типы случаев:
1 cup (c) = 16 tablespoons (T) = 48 teaspoons (t)
1 pound (l) = 16 ounces (o)
1 gallon (g) = 4 quarts (q) = 8 pints (p) = 128 fluid ounces (f)
Подсчет очков
Кухня у нас очень маленькая, поэтому код должен быть как можно короче, чтобы не делать кухню более тесной. Выигрывает самый короткий действительный код в байтах; Тай-брейкер переходит к отправке, которая первой достигла конечного количества байтов. Победитель будет выбран в следующий понедельник, 9 ноября. Удачи!
Обратите внимание, что это задание похоже, но не дублирует, Мировая Большая Доса.
#код-гольф #код-гольф #номер #конверсия