Pazartesi Mini Golf: Her Pazartesi (umarım!) Yayınlanmış bir dizi kısa kod golf mücadelesi.
Üzgünüm geç oldu; Yolun% 90'ının, bunun kopya olduğunu farklı bir fikir yazarak anladım.
Ailem oldukça büyük, bu yüzden çok yemek yiyoruz. Yeterli yiyecek hazırlamak için genellikle iki, üç veya dört kat tarifler yapmamız gerekir! Ancak ölçümleri çoğaltmak acı verici olabileceğinden, bunu bizim için yapacak bir programa sahip olmak güzel olurdu.
Meydan okuma
Zorluğunuz, bir sayı N ve L harfi gibi bir ölçümü alan ve mümkün olduğunca basitleştirilmiş aynı ölçümü döndüren bir program veya işlev oluşturmaktır . Gerekli ölçüm birimleri (hepsi Amerikan, ailem gibi) ve karşılık gelen harfleri:
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)
"olabildiğince basitleştirilmiş" şu anlama gelir:
- Mümkün olan en büyük ölçü birimini kullanarak. Her birimin 1/4, 1/3, 1/2, 2/3 veya 3/4 kalıntısı olabilir.
- Gerekirse sonucu karışık bir sayıya dönüştürmek.
Örneğin 4 o
, dört ons, bu 1/4 l
da çeyrek pound olur. 8 t
, 8 çay kaşığı, olur 2 2/3 T
.
ayrıntılar
- Giriş herhangi bir makul formatta alınabilir; çıktı ile aynı. (
1 t
,1,"t"
,1\nt
Vs.) - Kesirli parçaların düzgün bir şekilde ele alındığından emin olun. (
11/4
yerine1 1/4
izin verilmez.) - Numarası her zaman karışık sayı olacaktır ve her zaman bir payda olacak
2
,3
ya da4
(ya yok). (hayır1 1/8 T
, hayır1.5 T
, vb.) - Yukarıdakilerin bir sonucu olarak, aşağıya doğru dönüşümlere (örneğin, bardaktan yemek kaşığı kadar) ihtiyaç duyulmaz.
- Harf her zaman yukarıda listelenen harflerden biri olacaktır (
Tcfglopqt
).
Test-vakalar
İşte umarım her türlü vakayı kapsayan geniş bir liste:
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
puanlama
Mutfağımız çok küçük olduğundan, mutfağı daha sıkışık hale getirmemek için kod mümkün olduğunca kısa olmalıdır. Bayt cinsinden en kısa geçerli kod kazanır; tiebreaker ilk olarak son bayt sayısına ulaşan gönderime gider. Kazanan önümüzdeki 9 Kasım Pazartesi günü seçilecek. İyi şanslar!
Lütfen bu zorluğun Dünya Büyük Dosa'ya benzediğini, ancak bunun bir kopyası olmadığını unutmayın .