Сценарій
Останнім часом ви помічаєте якусь дивну поведінку улюбленого редактора тексту. Спочатку здавалося, що він ігнорує випадкових символів у вашому коді під час запису на диск. Через деякий час ви помітили візерунок; символи з непарними значеннями ASCII ігноруються. Під час подальшої перевірки ви виявили, що ви можете правильно записувати у файли лише тоді, коли кожен восьмий біт дорівнює нулю. Тепер вам потрібно знати, чи вплинули ваші цінні файли на цей дивний помилку.
Задача
Ви повинні написати повну програму, яка визначає, чи містить у файлі непарні байти (демонструючи його непошкодженим). Але через ваш текстовий редактор ви не можете записувати будь-які непарні байти у вихідний код. Ви можете припустити будь-яке раніше існуюче кодування для введення, проте ви все одно повинні перевіряти кожен окремий байт, а не лише символи.
Вхідні дані
Ваша програма буде приймати вміст або шлях до файлу з stdin або командного рядка.
Вихід
Ваша програма виведе для stdout або триєдне значення, якщо даний файл містить непарний байт, або хибну помилку, якщо кожен восьмий біт дорівнює нулю.
Критерії
Це кодовий гольф, найкоротша програма, яка виконує завдання виграє. Для коректного подання кожного восьмого біта у вихідному коді файлів повинен бути нуль. Я рекомендую включити до подання копію бінарних файлів вашого вихідного коду.
Застосовуються стандартні лазівки .
Випробування
(У кодуванні ASCII) Вхід:
"$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
Output:
falsy
Input:
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
Output:
truthy
Input:
LOREMIPSVMDOLORSITAMETCONSECTETVRADIPISCINGELITSEDDOEIVSMODTEMPORINCIDIDVNTVTLABOREETDOLOREMAGNAALIQVA
VTENIMADMINIMVENIAMQVISNOSTRVDEXERCITATIONVLLAMCOLABORISNISIVTALIQVIPEXEACOMMODOCONSEQVAT
DVISAVTEIRVREDOLORINREPREHENDERITINVOLVPTATEVELITESSECILLVMDOLOREEVFVGIATNVLLAPARIATVR
EXCEPTEVRSINTOCCAECATCVPIDATATNONPROIDENTSVNTINCVLPAQVIOFFICIADESERVNTMOLLITANIMIDESTLABORVM
Output:
truthy
Поради
Вибирайте мову з розумом, цей виклик може бути неможливим не для кожної мови
Команда Unix
xxd -b <file name>
друкує бічні файли файлу на консоль (разом із деякими додатковими форматами форматування)Ви можете використовувати інші кодування, крім ASCII, такі як UTF-8, дотримуйтесь всіх інших правил
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
- це заборонені символи для друку ASCII для всіх, хто цікавиться. Дозволені символи для друку ASCII" $&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
[CR]
біт має непарний біт. Я сподівався, що WhiteSpace в безпеці, але на жаль [TAB]
. Якщо ви хочете пройти стару школу, EBCDIC дає три голосні.