Birçok programlama dili yalnızca yazdırılabilir ASCII, sekmeler ve yeni satırlar kullanılarak yazılır. Bu 97 karakter daha sonra 8 bit baytta saklanır (bunlar aslında 256 farklı karakteri tutabilir!), Özellikle de her baytın önemli olduğu kod golfünde! Bu meydan okumada, taban dönüşümünü kullanarak puanınızı azaltabileceksiniz.
Meydan okuma
Programınız / işleviniz, bir dize veya karakter dizisini girdi olarak alır ve bunu temel bir 97 sayısı olarak yorumlar. Daha sonra bunu bir taban 256 numarasına dönüştürür ve bu sayıyı temsil etmek için gerekli sembollerin sayısını (yani bayt) sayar. Bu sayı, programınızın / fonksiyonunuzun çıkış / dönüş değeri olacaktır.
Base-2 ve base-10 (ikili ve ondalık) kullanan basit bir örnek: giriş ise 10110
, 10110 2 = 22 10 (çıkışı temsil etmek için iki basamak gerekir) olduğundan çıkış 2 olur. Benzer şekilde, 1101, 2 13 olur 10 da 2 olan bir çıkış verir ve 110 2 6 olur 10 böylece daha sonra çıkış 1 olacaktır.
Giriş dizesi, yazdırılabilir 95 ASCII karakterin yanı sıra , temel dönüşümünüz için 97 sembolün kaynak alfabesini oluşturan yeni satır \n
ve değişmez sekmeyi içerebilir . Tam alfabe Bu şekilde olacaktır (ikame ve gerçek değişmez sekmesi ve yeni satır ile, not yeni satır aşağıdaki hazır alan) :\t
\t
\n
\t\n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Bu alfabenin sırasının önemli olduğuna dikkat edin: örneğin, taban-97 \t
ondalık sayıya 0
ve !
ondalık sayıya karşılık gelir 3
.
Bazı test senaryoları: (boş bir dize kullanmanıza gerek yoktur)
Input Output
'example@domain.com' 15
'All your base are belong to us!' 26
' abcd' 9
'~ abcd' 10
'ABCDEFGHIJK' 9
'zyxwvutsrpq' 10
'{".~"}.~' 7
'\t\t\t\t\t\t\t\t' 1 (with \t a literal tab; the result is 0, which can be represented with 1 byte)
'!\t\t\t\t\t\t\t\t' 7 (with \t a literal tab)
puanlama
Girişinizde yalnızca yazdırılabilir ASCII, yeni satır ve / veya sekme kullanılıyorsa: Girdi olarak kendi kaynak kodu verildiğinde programınızın puanı programınızın çıktısı olacaktır.
Girişinizde yazdırılamayan ASCII, yeni satır veya sekme olmayan karakterler kullanılıyorsa: Programınızın puanı, kod golfü gibi bayt sayısıdır .