Мой начальник * не понимает, почему ее программисты негативно реагируют на то, что пользователи меняют требования к программе. Помоги ей понять! На каждый ответ создайте новое требование. Затем напишите программу / функцию, которая решает это и все предыдущие требования на новом языке программирования.
Примеры
Пользователь 1 публикует первый ответ. Он указывает, что программа должна вывести «Hello, World». Он создает программу на Java, которая выводит «Hello, World».
Пользователь 2 отправляет второй ответ. Она указывает, что программа должна принимать ввод n и выводить n- е простое число, вплоть до числа языка max. Она создает программу на C ++, которая принимает входные данные n, выводит n- е простое число и выдает «Hello, World». Она не могла бы создать программу на Java.
Пользователь 3 отправляет третий ответ. Он указывает, что исходный текст программы не может содержать текст «Hello». Он создает функцию в Python, которая принимает входные данные n и выводит n- е простое число и «Hello, World». при этом не используя текст «Hello» в своем источнике. Он не мог создать программу на Java или C ++.
Формат ответа
#Answer # - <language name> [version, if pertinent]
Requirement: <rule>.
<code>
[explanations, encoding, TIO link, etc.]
Правила ответов
Ответ должен соответствовать указанному выше формату или подобному.
Ответом может быть программа или функция.
Ответ должен соответствовать всем требованиям вплоть до текущего ответа.
Один и тот же пользователь не может оставлять два ответа подряд.
Если два ответа опубликованы с одинаковым номером, ответ, отправленный позже, следует удалить.
Не изменяйте свое требование, если вы не ошиблись и другие ответы не были опубликованы.
Если ваш ответ не соответствует вашему правилу и всем другим правилам, он недействителен. Попытайтесь исправить это, прежде чем кто-то другой отправит следующий ответ.
Разные версии одного и того же языка считаются разными языками, только если программа или функция, созданные в одной из версий, будут вести себя по-разному в другой версии.
Ответ может не принимать никаких необязательных входных данных и может не выводить ничего ненужного, кроме необходимых пробелов. Однако, хотя закулисная программа должна выполнять все «скрытые» (от пользователя) требования, она может делать все, что вы хотите, особенно если вы должны выполнить требование времени выполнения.
Правила Требования
Требование должно указывать только одно требование. Это требование может быть условным, и если это требование требует ввода и / или вывода, оно может быть включено.
Требование не может удалять или изменять предыдущие требования или противоречить им, но может расширять одно (указать, какие).
Если требование ограничивает источник ( limited-source ) или требует текст в источнике, он может удалить только одну строку (например
0
,Hello
) или потребовать один символ.Требование не может требовать, чтобы источник был длиной менее 100 байт, требовал определенной кодировки или сам по себе исключал большинство распространенных языков.
Требование может не заставлять источник соответствовать определенному шаблону (например, начинать каждую строку с определенного символа или (@Conor) хэшировать до определенного значения), отличному от указанного в ограниченном источнике.
Это цепочка ответов, поэтому все ответы основаны на предыдущих ответах. Я и, возможно, другие постараюсь сохранить список всех требований. Чтобы увидеть ответы по порядку, вы можете отсортировать по самым старым. Чтобы увидеть самый новый ответ, выполните сортировку по самому старому, а затем перейдите к концу списка.
Как выиграть (изменено для удержания голоса):
Если в течение двух недель не будет получен ответ, задание будет завершено, и будут подсчитаны баллы. Баллы будут рассчитываться путем суммирования общего количества ответов каждого пользователя, но взвешивания постов в зависимости от того, как далеко они находятся в цепочке (поскольку у более поздних постов больше требований, они сложнее).
псевдокод:
for each answer in user.Answers {
score += 1 + (answer.number / 100)
}
Пример:
У Салли есть три ответа. Она разместила ответ 5, ответ 7 и ответ 20.
Ее оценка будет 1.05 + 1.07 + 1.2 = 3.32
. Если бы это была прямая сумма ответов, ее оценка была бы 3, но взвешивание глубины цепи вознаграждает более трудные ответы.
Начать:
Вот первое требование, данное моим боссом *:
Требование 0: программа должна вывести 0 раньше всего.
* вымышленный
Список требований и языков
Обратите внимание, что это может быть устаревшим - посмотрите последний опубликованный ответ непосредственно перед публикацией своего ответа, чтобы убедиться, что вы выполняете все требования. Мне очень жаль, если вы создаете изысканную программу, только для того, чтобы кто-то ее взломал - если вы действительно действительно хотите опубликовать ее, укажите не конкурирующую.
Полные (но , возможно , не тока) Требования: Не могу содержать
0
,*
или]
в исходном коде, и не можем использовать нарисуй на новой строке встроенной команды. Выводит0
, затем принимает неотрицательное целочисленное значениеn
и выводит новую строку, за которой следует 0-индексированноеn
число Фибоначчи (может быть1
проиндексировано), затем новая строка, затем тот же ввод n в квадрате, затем новая строка, за которой следуетn
умноженная новым вводомm
, за которым следует новая строка , за которой следует10^B
, гдеB
число байтов в исходном коде, за которым следует новая строка, за которой следует простое число с индексомn
th0
(также может быть1
индексировано), за которым следует символ новой строки, затем следует Величайший общий делитель n и m.0: программа должна выводиться
0
раньше всего. Язык: N / A
1: Источник программы не может содержать0
. Язык: 05AB1E
2: Программа принимает неотрицательный целочисленный вводn
и выводит новую0
строку, за которой следует -индексированное n-е число Фибоначчи (может быть1
проиндексировано). Язык: dc
3: программа выводит новую строку, за которой следует тот жеn
квадрат ввода . Язык: J
4: программа выводит новую строку, после которойn
умножается на новый вводm
. Язык: Ом
5: Программа не может содержать*
(код ASCII0x2A
). Язык: Python 3
6: программа выводит новую строку, за10^B
которойB
следует число байтов в исходном коде. Язык: Mathematica
7: Программа выводит новую строку , за которой следует простое число с индексомn
th0
(может также1
индексироваться). Язык: JavaScript (ES6)
8: программа не использует встроенную функцию объединения с новыми строками , но может использовать любую другую встроенную функцию объединения. Язык: Jelly
9: Программа выводит новую строку, за которой следует Величайший общий делитель n и m. Язык: Scala
10: программа не может содержать]
. Язык: Pyth
Текущие результаты (упорядочены по первому сообщению)
Оккс : 1,01 р.
Кап : 2,09
Конор О'Брайен : 1,03
Ник Клиффорд : 1,04
Эрик Роуз : 1,05
Грег Мартин : 1,06
Эрик Аутгольфер : 2,18
Математика : 1,09