Meydan okuma:
Zorluğunuz (kabul etmeyi seçmeniz gerekir), burada bulunan 5MB " William Shakespeare'in Tamamlanmış İşleri " ni sıkıştırmak ve açmaktır : http://www.gutenberg.org/cache/epub/100/pg100.txt
(MD5: a810f89e9f8e213aebd06b9f8c5157d8
)
Kurallar:
- Üzerinden giriş ve çıkış yoluyla almak gerekir ...
STDIN
STDOUT
- ... ve girişe aynı sıkıştırılmış sonucu vermelisiniz .
- (Bu, yukarıdaki ile aynı MD5'i alabilmeniz ve alabilmeniz gerektiği anlamına gelir.)
cat inpt.txt | ./cmprss | ./dcmpress | md5
- (Üzerinden herhangi bir şey
STDERR
atılmalıdır.)
- (Bu, yukarıdaki ile aynı MD5'i alabilmeniz ve alabilmeniz gerektiği anlamına gelir.)
Sen gerekir toplam kaynak kodu için 2048 karakterleri kullanın.- (Bu değil kod golf. Sen edilir değil kaynak kodunun uzunluğuna göre puan ediliyor. Bu
isesonlu şeyleri tutmak için sadece bir kural oldu.) (Ayırdıysanız, tüm kaynak kodun birleştirilmiş uzunluğunu alın.)
- (Bu değil kod golf. Sen edilir değil kaynak kodunun uzunluğuna göre puan ediliyor. Bu
- Sen gerekir çok (teorik olarak) işlem benzer düz metin girişlerine mümkün.
- (örneğin, yalnızca sağlanan Shakespeare girdisini çıktılayabilen bir mekanizmanın sabit kodlanması kabul edilemez.)
- (Sıkıştırılmış sonucun alternatif girdi ile aynı olması koşuluyla, diğer belgelerin sıkıştırılmış boyutu önemsizdir.)
- Sen edebilir dil (s) herhangi bir seçim kullanın.
- (örn. kullanarak sıkıştırmaktan çekinmeyin
awk
ve kullanarak sıkıştırmasını açınjava
)
- (örn. kullanarak sıkıştırmaktan çekinmeyin
- İstediğiniz gibi iki ayrı program yazabilir veya bir çeşit "anahtar" ile birleştirebilirsiniz.
- (Hem sıkıştırma hem de dekompresyon modlarının nasıl çağrılacağına dair net gösteriler olmalıdır)
- Sen olabilir değil herhangi bir harici komutları (örn üzerinden kullanmak
exec()
).- (Eğer bir kabuk dili kullanıyorsanız - üzgünüm. )
- Sen olabilir değil (gibi kompres verilere olan amacını dile getirilmiştir herhangi bir yerleşik veya kütüphane sağlanan işlevleri kullanmak
gz
vb)- (Kodlamanın değiştirilmesi bu bağlamda sıkıştırma olarak kabul edilmez. Burada bir miktar takdir yetkisi olabilir.
- Katılmayı seçerseniz lütfen eğlenmeye çalışın!
Tüm iyi yarışmaların kazanmanın nesnel bir tanımı vardır; ergo:
- Tüm kurallara uyulması koşuluyla, en küçük sıkıştırılmış çıktı (
STDOUT
bayt cinsinden) kazanır.- (Çıktınızı lütfen üzerinden bildirin
./cmprss | wc -c
)
- (Çıktınızı lütfen üzerinden bildirin
- Beraberlik durumunda (özdeş çıktı boyutları), en çok oy alan topluluk kazanır.
- İkinci bir beraberlik durumunda (özdeş topluluk oyları), tamamen öznel bir zarafet ve saf deha sınavına dayanan bir kazanan seçeceğim.
;-)
Nasıl gönderilir:
Lütfen bu şablonu kullanarak girişinizi biçimlendirin:
<language>, <compressed_size>
-----------------------------
<description> (Detail is encouraged!)
<CODE...
...>
<run instructions>
Okuyucuları ve göndericileri yorumlarla sohbet etmeye teşvik ederim - İnsanların codegolf.stack aracılığıyla öğrenmeleri ve daha iyi programcılar olmaları için gerçek bir fırsat olduğuna inanıyorum.
Kazanan:
Yakında tatildeyim: Önümüzdeki birkaç hafta içinde başvuruları izliyor olabilirim (ya da olmayabilirim) ve 19 Eylül'de mücadeleyi sona erdireceğim. Umarım bu, insanların düşünmesi ve sunması için - ve tekniklerin ve fikirlerin olumlu bir şekilde paylaşılması için iyi bir fırsat sunar.
Katılmaktan yeni bir şey öğrendiyseniz (okuyucu veya gönderici olarak) lütfen bir cesaret yorumu bırakın.
code-challenge
.