Amaç, mümkün olan en az karaktere sahip başka bir programı (girişi) kodlayan bir program yazmaktır.
puanlama
- Puan, çıktı için gereken farklı karakter sayısına eşittir.
- Düşük puan daha iyidir.
kurallar
- Sınırlı komut kümesine sahip hedef dil yok. (Hayır Brainf ** k, Boşluk vb.)
Düzenleme : Yani en az 26 anlamlı karakter,A
bir brainf ** k programının çalışma şeklini değiştirmez, bu yüzden bu karakteri sayamazsınız. Aynı şey boşluk için de geçerlidir. - Hedef dil, bu sorunun yazıldığı sırada bulunmalıdır.
- Puanınızı nasıl arşivlediğinize ilişkin küçük bir açıklama eklemeniz gerekir.
- Giriş programı geçerlidir.
- Kodlanan program, girişle aynı dilde geçerli bir program olmalıdır.
- Kodlanan program, orijinal programla aynı işi yapmalıdır.
- Kodlayıcınız bu dildeki geçerli tüm programlar için çalışmalıdır.
- Bazı örnek giriş ve çıkışlarını ekleyin.
notlar
- Kodlayıcı yalnızca hedeflediği dilde değil, herhangi bir dilde yazılabilir.
- Bu kod golf değildir , okunabilir programlar teşvik edilir.
- Asıl amaç, o dilde herhangi bir şey yazmak için kaç farklı karakterin gerektiğini görmek. BF vs'ye izin vermedim çünkü meydan okuma olmazdı.
- Bu, olabildiğince az sayıda karakterle bir dize yazdırmaktan ilham aldı , bu soru için metagolf olarak alabilirsin .
Misal
Java'da \uXXXX
bunun yerine diğer karakterleri kullanabilirsiniz . Geçerli bir giriş, girişteki her karakteri bu şekilde kodlar. Bu puan 18 olacaktır. ( \ 0-9a-f
)
Tcl'deki kod, bir Java programını kodlar:
set res {}
foreach char [split [read stdin] {}] {
append res [format \\u%04x [scan $char %c]]
}
puts $res
gets
sadece tek bir girdi satırı okumuyor musunuz? Ve u
kodlayıcınızda kaçırdınız (ancak diğer taraftan boşluğa ihtiyacınız yoktur ve bu nedenle skor aynı kalır).