На языке программирования по вашему выбору напишите 95 программ, каждая из которых выводит отдельный из 95 печатных символов ASCII, причем этот символ не встречается где-либо в программе .
Например, если ваш язык Python , ваша программа, которая выводит символ, P
может быть
print(chr(80))
потому что P
имеет код ASCII 80. Эта программа действительна, потому что P
никогда не появляется в исходном коде. Однако для программы, которая выводит строчные буквы p
, что-то вроде
print(chr(112))
будет недействительным, потому что, хотя он печатает p
, p
присутствует в коде. Действительная программа может быть
exec(chr(112)+'rint(chr(112))')
который печатает, p
но не содержит p
.
Ваша цель - сделать каждую из ваших 95 программ максимально короткой. Ваша оценка - это сумма длин символов всех ваших программ.
Если по какой-либо причине вы не можете написать действительные программы для некоторых символов, вы можете пометить эти символы как «Не программировать» или DNP и полностью пропустить программы для них. Таким образом, синтаксически строгие языки смогут конкурировать.
Победившим ответом является ответ с наименьшим количеством баллов из набора ответов с наименьшим числом DNP.
правила
Исходный код всех ваших программ может содержать только печатные символы ASCII, а также вкладки и символы новой строки, которые считаются одним символом. (Потому что в другой кодировке было бы легко опустить символы, которые не существуют!)
- Примечание: это правило кажется необходимым, но есть много языков с разными кодировками, и я уверен, что было бы здорово увидеть ответы на них. Поэтому вы можете нарушить это правило , вы можете использовать любые символы, которые захотите, но тогда ваш ответ станет неконкурентным , он не сможет победить.
Программы должны быть фактические, полные программы , согласно стандартным соглашениям вашего языка. Функции и фрагменты REPL не допускаются.
Вывод каждой программы должен идти на стандартный вывод или принятую альтернативу вашего языка.
Программы не должны запрашивать или требовать ввода. (Если запрос на ввод данных присущ вашему языку, это нормально.)
Программы должны быть детерминированными, конечными во время выполнения и независимыми. например, это не должно иметь значения, если один запускается в папке отдельно от других программ.
Вывод программы должен быть точным печатным символом ASCII, которому он соответствует, за которым может следовать одна завершающая строка, ни больше, ни меньше.
Обязательно включите в свой ответ информацию обо всех 95 (в идеале) программах, а также свои оценки и любые оценки DNP. Вам не нужно перечислять все программы , которые следуют простому шаблону , как « , ...» , но убедитесь , что вы будете уверены , что все они будут работать , и что ваш счет правильно добавлен.print(chr(80))
print(chr(81))
print(chr(82))
Для справки, вот 95 печатных ASCII, которые ваши программы должны выводить:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0