В этой задаче вы должны написать программу или функцию, которая принимает строку в качестве входных данных и выводит одно из двух возможных значений. Мы назовем одно из этих значений истинным, а одно - ложным . Они не должны быть правдивыми или ложными . Чтобы ответ был действительным, он должен соответствовать четырем дополнительным критериям
Когда вы передаете свою программу себе, она выводит истинное значение.
Если вы передаете свою программу в качестве входных данных любому более старому ответу, он должен вывести правдивый вывод (программы, которую вы передаете).
Если вы передадите какой-либо более старый ответ своему ответу в качестве входных данных, он должен вывести ложные выходные данные (вашей программы).
Там должно быть бесконечное количество строк, которые дают достоверный результат во всех ответах на вызов (включая ваш новый ответ).
Что он будет делать, так это медленно выстраивать цепочку ответов, каждый из которых может определить, будут ли другие программы в цепочке идти до или после нее.
Целью этой задачи является создание списка исходных ограничений, которые применяются к последовательным ответам, что делает каждый из них более сложным, чем предыдущий.
пример
Цепочка (написанная на Хаскеле) может начинаться:
f _ = True
Поскольку старых программ нет, критерии не применяются к этому ответу, ему нужно только вывести одно из двух возможных значений, в этом случае он всегда выводит True
.
После этого может быть ответ:
f x=or$zipWith(==)x$tail x
Который утверждает, что где-то в строке есть символ дважды подряд. Первый ответ не имеет этого свойства, а второй - ( ==
). Таким образом, это правильный следующий ответ.
Особые правила
Вы можете использовать любой язык по своему желанию (который имеет свободно доступную реализацию) столько раз, сколько пожелаете.
Если вы ответили последним, вы должны подождать не менее 7 дней, прежде чем отправлять новый ответ.
Ваша программа может не читать свой собственный источник.
Поскольку 4-е правило чрезвычайно трудно проверить, участвуют ли криптографические функции, такие функции запрещены.
Критерий оценки
Каждый раз, добавляя ответ, вы получаете столько же очков, сколько и его место в цепочке. Например, 5-й ответ принесет писателю 5 баллов. Цель состоит в том, чтобы получить как можно больше очков. Последний ответ даст свой ответчик -∞ баллов. Вероятно, это будет более увлекательно, если вы попытаетесь увеличить свой счет, а не «выиграть» испытание. Я не буду принимать ответ.
Поскольку это цепочка ответов, вы можете отсортировать по