Tugas tantangan ini adalah sebagai berikut:
Tulis sebuah program yang membaca file dengan ukuran yang masuk akal (misalkan <16 MB) dari stdin atau di tempat lain (sesuka Anda, tetapi jangan di-hardcode), dan masukkan output terkompresi ke stdout. Outputnya harus berupa file terkompresi gzip yang valid dan jika file terkompresi berjalan melalui gunzip, itu harus menghasilkan file yang sama persis seperti sebelumnya.
Aturan
- Bahasa pemrograman yang digunakan harus diketahui sebelum kompetisi ini dimulai
- Nilai program Anda adalah jumlah karakter kode sumber atau program rakitan (apa pun yang lebih pendek)
- Anda tidak diizinkan menggunakan perpustakaan kompresi apa pun yang ada.
- Selamat bersenang-senang!
code-golf
compression
FUZxxl
sumber
sumber
Jawaban:
C # (534 karakter)
Jauh lebih mudah dibaca:
Komentar:
Mengharapkan path ke file sebagai argumen baris perintah pertama.
File output adalah file input +
.gz
.Saya tidak menggunakan perpustakaan apa pun untuk melakukan gzip, deflate atau CRC32. Semuanya ada di sana.
"Kompresor" ini meningkatkan ukuran file dengan faktor 6. Tapi itu dalam format gzip yang valid!
Diuji menggunakan GNU gunzip dan WinRAR.
sumber