Вступление
Парейдолия : от древнегреческого; παρα ( пункт «одновременно, наряду с ») + εἴδωλον ( Eidolon , «изображение»). Тенденция интерпретировать неопределенный стимул как нечто, известное наблюдателю, например, интерпретировать метки на Марсе как каналы, видеть формы в облаках или слышать скрытые сообщения в музыке. Источник: Викисловарь .
Например:
Паралогия : от древнегреческого; παρα ( para , «одновременно, рядом») + λόγος ( lógos , «речь, речь, слово, ...»). Тенденция воспринимать слова в произвольных последовательностях символов, например в коде программ гольфа. Источник: да, я это придумал (на самом деле это слово означает нечто иное , как указывает @Martin).
Например:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Вызов
Напишите программу, которая принимает положительное целое число в качестве входных данных, производит целое число в качестве выходных данных и включает в себя английское слово как часть кода. Отношение ввода-вывода должно соответствовать целочисленной последовательности, которую можно найти в OEIS .
правила
- Разрешены только слова из этого списка . Это по общему признанию произвольно, но важно, чтобы мы все согласились, какие слова приняты; и в этом отношении этот список, вероятно, так же хорош, как и любой другой.
- Слова должны быть сформированы путем объединения как минимум двух имен функций или операторов. Если, например, у вашего языка есть функция,
correlation
он не может использоваться как есть. Конкатенация должна быть строгой: никакие другие символы не должны появляться между частями слова. Например,bro~ken
не считается словом. - Дело неважно: и то
valid
и другоеvaLiD
приемлемо. - Слова в строках не учитываются. Буквы, составляющие слово, должны быть функциями или утверждениями на выбранном языке, то есть чем-то, что фактически выполняется . Например, следующий код не будет разрешен:,
'deoxyribonucleic'~1
где'...'
строка,~
отбрасывает предыдущее содержимое и1
просто печатает число1
. - Каждая буква слова должна быть необходимой . Это означает, что удаление одной буквы из слова должно изменить отношение ввода-вывода. Это включает в себя вывод другой последовательности, вывод любой другой вещи, отсутствие вывода или возникновение ошибки.
- Любое положительное целое число должно быть приемлемым в качестве входных данных и должно создавать выходные данные, за исключением ограничений типа данных или памяти.
- Выходы соответствующих входов
1
,2
,3
, ... должны соответствовать последовательностям появляющихся в OEIS . Никакой другой вывод не должен производиться; только целое число, возможно, с конечным или начальным пробелом. - Ввод и вывод могут быть аргументами функции или stdin / stdout.
Гол
Оценка рассчитывается как общая длина кода минус удвоенная длина самого длинного слова в символах. Или, что то же самое, количество символов не в длинных словах минус длина самого длинного слова.
Самый низкий балл побеждает.
Примеры
Рассмотрим воображаемый постфиксный язык, который имеет следующие функции c
: ввод числа; At
: вычислить квадрат; $
: добавить 1.
cAt
будет действительной программа (ее выход соответствует последовательности 1
, 4
, 9
, ..., что A000290 ), и это будет иметь счет -3.
cAt$
будет также иметь силу (последовательность 2
, 5
, 10
, ..., что A002522 ), со счетом -2.
c$At
не будет действительным, потому что единственное слово здесь - «At» и производится единственной функцией или оператором.
Ответы:
CJam, -20
Выводит n-й элемент в последовательности A010861 .
Удаление символа из слова приводит к совершенно другой последовательности A010860 . Между этими двумя последовательностями существует довольно интересная взаимосвязь: для каждого индекса n
A010860(n)
взаимно простоA010861(n)
! За этим должна быть какая-то глубокая математическая причина.Попробуй это здесь .
источник
CJam, -5
A010051 : печать
0
для составных чисел и1
простых чисел.У меня ушло навсегда найти что-то, что набрало бы несколько баллов и сломалось бы при удалении любого письма. Удаление чего-либо, кроме
m
сообщения об ошибке, а удалениеm
превращает программу в функцию идентификации.Попробуйте онлайн.
источник
05AB1E ,
-4-11Код, отпечатки A010869 (константа 30):
Предыдущий код:
Объяснение:
Печатает последовательность A010879 .
источник
MATL , −6
Попробуйте онлайн!
Производит последовательность
1
,2
,3
, ... ( A000027 )Удаление любой буквы изменяет вывод или оставляет программу ожидающей второго ввода, который не существует, или выдает ошибку.
объяснение
Программа просто вдыхает число и, после некоторого возни, выдыхает его без изменений.
источник
Pyth, 1
Объяснение?
1, 2, 3, 4, 5 ...
Последовательность A000027
Подсознательные сообщения? Никогда.
Попробуй это здесь.
источник
Джапт, -6
Выходы A004453 : nimsum из N и 12 (N XOR 12). Проверьте это онлайн!
Примечание: последовательность OEIS индексируется 0, поэтому ввод 0 приведет к первому элементу.
Как это устроено
источник
Y
производит тот же результат? (если я не делаю что-то не так)Headsecks , оценка -4
Это сопоставляется с программой Brainfuck
,+-.
, которая читает один символ и печатает его, вычисляя A000030 . Удаление любого персонажа, очевидно, сломает его.Есть также
marshal
(,-<>+-.
), что эффективно,-.
, но это не соответствует какой-либо последовательности OEIS.источник
машинный код x86, оценка -4
Hexdump кода:
Или в кодовой странице 437 :
Код сборки:
Функция, которая добавляет 1 к своему аргументу .
Удаление
A
превращает его в функцию идентичности. Удаление любого другого байта портит стек, вызывая сбой или плохое поведение вызывающей функции.Я почти уверен, что возможно улучшить счет, но это может зависеть от интерпретации требований. Например, использование слова
SQUEAMIShness
дает программу, которая увеличивает, а затем уменьшаетebp
регистр. Вызывает ли сбой любой из них сбой? Простейшая тестовая программа не используетebp
регистр, так что, возможно, она не использует ... Чтобы избежать этого сомнения, я использовал более короткое слово.источник
Рубин, оценка 3
Это вычисляет идентичность последовательности A000027 . Выход окружен пробелами; Я надеюсь, что все в порядке.
источник
Математика ++, оценка -2
Реализует A000004 .
источник