Poniedziałek Mini-Golf: Seria krótkich golfowych wyzwań, opublikowanych (miejmy nadzieję!) W każdy poniedziałek.
Przepraszam, że jest późno; Uświadomiłem sobie, że w 90% przypadków napisałem inny pomysł, że jest to duplikat.
Moja rodzina jest raczej duża, więc jemy dużo jedzenia. Zwykle musimy podwoić, potroić, a nawet czterokrotnie przepisy, aby przygotować wystarczającą ilość jedzenia! Ale ponieważ pomnożenie pomiarów może być uciążliwe, dobrze byłoby mieć program, który to dla nas zrobi.
Wyzwanie
Wyzwanie polega na utworzeniu programu lub funkcji, która przyjmuje pomiar jako liczbę N i literę L i zwraca ten sam pomiar, maksymalnie uproszczony. Oto wymagane jednostki miary (wszystkie są amerykańskie, podobnie jak moja rodzina) i odpowiadające im litery:
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)
„maksymalnie uproszczone” oznacza:
- Korzystanie z największej możliwej jednostki miary. Każda jednostka może mieć resztę 1/4, 1/3, 1/2, 2/3 lub 3/4.
- W razie potrzeby zamieniając wynik na liczbę mieszaną.
Na przykład 4 o
wynosi cztery uncje, co staje 1/4 l
się ćwierć funta. 8 t
, 8 łyżeczek do herbaty 2 2/3 T
.
Detale
- Dane wejściowe mogą być pobierane w dowolnym rozsądnym formacie; to samo z wyjściem. (
1 t
,1,"t"
,1\nt
Etc.) - Upewnij się, że każda część ułamkowa jest odpowiednio traktowana. (
11/4
w miejsce1 1/4
nie jest dozwolone.) - Liczba zawsze będzie liczba mieszany i zawsze mają mianownik
2
,3
albo4
(lub brak). (nie1 1/8 T
, nie1.5 T
itp.) - W wyniku powyższego nie są nigdy potrzebne konwersje w dół (np. Kubki na łyżki stołowe).
- Litera zawsze będzie jedną z liter wymienionych powyżej (
Tcfglopqt
).
Przypadki testowe
Oto duża lista obejmująca wszystkie typy spraw:
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
Punktacja
Nasza kuchnia jest bardzo mała, więc kod powinien być tak krótki, jak to możliwe, aby nie utrudniać kuchni. Najkrótszy prawidłowy kod w bajtach wygrywa; tiebreaker przechodzi do przesyłania, które jako pierwsze osiągnęło końcową liczbę bajtów. Zwycięzca zostanie wybrany w poniedziałek, 9 listopada. Powodzenia!
Pamiętaj, że to wyzwanie jest podobne do World Big Dosa , ale nie jest jego duplikatem .