Sorun, aşağıdaki 5 görev için 5 farklı tam program yazmaktır:
Yazdır
Hello, World!
STDIN ile bir girdi verildiğinde, faktöriyeli çıktılayın, girdinin> = 0 bir tamsayı olduğunu varsayabilirsiniz.
N tamsayısı verildiğinde, <= N primerlerinin toplamını hesaplayın
STDIN ile bir giriş verildiğinde, girişte kullanılan harflerin çıktısını alın. Örneğin: giriş,
Hello world
çıkış yapmanız gerekirhelowrd
. Çıktının küçük harf olduğunu unutmayın. Girdinin beyaz boşluklarla her zaman alfabetik olduğunu, beyaz boşlukların yok sayıldığını varsayabilirsiniz.Aşağıdaki pırlanta aynen bu şekilde çıktı alın:
* *** ***** ******* ***** *** *
Tüm bu zorluklar muhtemelen çok kolay, ancak bir sorun var. Kullandığınız her harf diğer programlarda tekrar kullanılamaz . Bu yasak değildir, ancak size +8 baytlık bir ceza verecektir . Örneğin, bu ilk görev için programınızsa:
print("Hello, World!");
Sonra (büyük harf veya küçük formda) Aşağıdaki harf kullanamazsınız: p
, r
, i
, n
, t
, h
, e
, l
, o
, w
, d
diğer programlarda. Bunları kullanmanız gerekiyorsa, her harfi 8 bayt için 'satın alabilirsiniz'. Yani mektubu l
başka bir programda tekrar kullanmak isterseniz , 8 bayt ceza alırsınız. Cezayı ödedikten sonra, her mektubu bu programda istediğiniz kadar kullanabilirsiniz. Diğer karakterler önemli değil. Ayrıca, 5 programın tümü aynı dilde olmalıdır.
Bu kod golf , yani en az bayt miktarı kazanır!