Skenarionya
Akhir-akhir ini Anda telah memperhatikan beberapa perilaku aneh dengan editor teks favorit Anda. Pada awalnya sepertinya mengabaikan karakter acak dalam kode Anda saat menulis ke disk. Setelah beberapa saat Anda memperhatikan suatu pola; karakter dengan nilai ASCII ganjil diabaikan. Di bawah pemeriksaan lebih lanjut Anda menemukan bahwa Anda hanya dapat menulis ke file dengan benar jika setiap bit kedelapan adalah nol. Sekarang Anda perlu tahu apakah file Anda yang berharga telah dipengaruhi oleh bug aneh ini.
Tugas
Anda harus menulis program lengkap yang menentukan apakah file berisi byte aneh (menunjukkan tidak rusak). Tetapi karena editor teks Anda, Anda tidak dapat menulis byte aneh di kode sumber Anda. Anda dapat mengasumsikan setiap pengkodean input yang sudah ada untuk input, namun Anda masih harus memeriksa setiap byte individu, bukan hanya karakter.
Memasukkan
Program Anda akan mengambil konten atau path ke file dari stdin atau baris perintah.
Keluaran
Program Anda akan menghasilkan stdout baik nilai kebenaran jika file yang diberikan berisi byte aneh atau palsu jika setiap bit kedelapan adalah nol.
Kriteria
Ini adalah kode golf, program terpendek yang menyelesaikan tugas yang menang. Untuk menjadi kiriman yang valid setiap bit kedelapan dalam kode sumber file harus berupa nol. Saya akan merekomendasikan untuk menyertakan salinan binari kode sumber Anda dalam kiriman Anda.
Celah standar berlaku.
Uji Kasus
(Dalam pengkodean ASCII) Input:
"$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
Output:
falsy
Input:
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
Output:
truthy
Input:
LOREMIPSVMDOLORSITAMETCONSECTETVRADIPISCINGELITSEDDOEIVSMODTEMPORINCIDIDVNTVTLABOREETDOLOREMAGNAALIQVA
VTENIMADMINIMVENIAMQVISNOSTRVDEXERCITATIONVLLAMCOLABORISNISIVTALIQVIPEXEACOMMODOCONSEQVAT
DVISAVTEIRVREDOLORINREPREHENDERITINVOLVPTATEVELITESSECILLVMDOLOREEVFVGIATNVLLAPARIATVR
EXCEPTEVRSINTOCCAECATCVPIDATATNONPROIDENTSVNTINCVLPAQVIOFFICIADESERVNTMOLLITANIMIDESTLABORVM
Output:
truthy
Kiat
Pilih bahasa dengan bijak tantangan ini mungkin tidak dapat dilakukan di setiap bahasa
Perintah Unix
xxd -b <file name>
akan mencetak binari file ke konsol (bersama dengan beberapa hal pemformatan tambahan)Anda dapat menggunakan penyandian lain selain ASCII seperti UTF-8 selama semua aturan lain diikuti
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
adalah karakter ASCII yang dapat dicetak yang dapat dicetak, untuk siapa saja yang peduli. Karakter ASCII yang dapat dicetak yang dapat dicetak adalah" $&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
[CR]
memiliki sedikit aneh. Saya berharap WhiteSpace aman, tetapi sayang sekali [TAB]
. Jika Anda ingin sekolah tua, EBCDIC memberi Anda tiga vokal.