Monday Mini-Golf: Une série de courts défis de golf à code , affichés (espérons-le!) Tous les lundis.
Désolé, il est tard; J'ai réalisé 90% du chemin en écrivant une idée différente qu'il s'agissait d'un doublon.
Ma famille est assez grande, donc nous mangeons beaucoup de nourriture. Nous devons généralement doubler, tripler ou même quadrupler les recettes pour faire suffisamment de nourriture! Mais comme multiplier les mesures peut être pénible, ce serait bien d'avoir un programme pour le faire pour nous.
Défi
Votre défi consiste à créer un programme ou une fonction qui prend une mesure sous la forme d'un nombre N et d'une lettre L , et renvoie la même mesure, simplifiée autant que possible. Voici les unités de mesure requises (toutes sont américaines, comme ma famille), et leurs lettres correspondantes:
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)
"simplifié autant que possible" signifie:
- Utilisation de la plus grande unité de mesure possible. Chaque unité peut avoir un reste de 1/4, 1/3, 1/2, 2/3 ou 3/4.
- Transformer le résultat en un nombre mixte, si nécessaire.
Par exemple, 4 o
est de quatre onces, ce qui devient 1/4 l
, un quart de livre. 8 t
, 8 cuillères à café, devient 2 2/3 T
.
Détails
- L'entrée peut être prise dans n'importe quel format raisonnable; idem avec sortie. (
1 t
,1,"t"
,1\nt
, Etc.) - Assurez-vous que toute partie fractionnaire est traitée correctement. (
11/4
à la place de1 1/4
n'est pas autorisé.) - Le nombre sera toujours un nombre mixte, et aura toujours un dénominateur
2
,3
ou4
(ou pas). (non1 1/8 T
, non1.5 T
, etc.) - En conséquence de ce qui précède, aucune conversion à la baisse (par exemple des tasses en cuillères à soupe) n'est jamais nécessaire.
- La lettre sera toujours l'une des lettres répertoriées ci-dessus (
Tcfglopqt
).
Cas de test
Voici une grande liste, couvrant, espérons-le, tous les types de cas:
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
Notation
Notre cuisine est très petite, donc le code doit être aussi court que possible, afin de ne pas rendre la cuisine plus exiguë. Le code valide le plus court en octets gagne; tiebreaker va à la soumission qui a atteint son nombre d'octets final en premier. Le gagnant sera choisi lundi prochain, le 9 novembre. Bonne chance!
Veuillez noter que ce défi est similaire, mais pas un double de, World Big Dosa .