Мой начальник * не понимает, почему ее программисты негативно реагируют на то, что пользователи меняют требования к программе. Помоги ей понять! На каждый ответ создайте новое требование. Затем напишите программу / функцию, которая решает это и все предыдущие требования на новом языке программирования.
Примеры
Пользователь 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
источник
Ответы:
Ответ 10 - Пиф
Требование: принимает два входа,
n
(> = 0) иm
. Выходы0
без использования0
,*
или]
нигде в исходном коде, и без встроенных команд для вступления на переводы строк. Затем выводит символ новой строки , за которой следует1
-indexed п - го числа Фибоначчи (могут быть0
проиндексированы), за которым следует символ новой строки, а затем вn
квадрат, за которым следует символ новой строки, а затемn
умножают наm
, с последующим переводом строки, а затем ,10^B
когдаB
это число байтов в исходном коде, за которым следуют символ новой строки и индексированноеn
th1
(может также0
индексироваться) простое число, и, наконец, символ новой строки и Величайший общий делитель n и m.Онлайн переводчик
источник
j
вместо этогоjb
, так как тогда я буду использовать встроенную функцию соединения с новыми строками.Ответ 1 - 05AB1E
Требование: печать
0
... без0
в исходном кодеисточник
Ответ 3 - J
Требование: выводит
0
без0
в исходном коде, затем принимает неотрицательный целочисленный вводn
и выводит новую0
строку, за которой следует -индексированноеn
число Фибоначчи (может быть1
проиндексировано), за которым следует новая строка , за которой следует тот жеn
квадрат ввода .Попробуйте онлайн!
источник
Ответ 4 - Ом
Требование: выводит
0
без0
в исходном коде, затем принимает неотрицательный целочисленный вводn
и выводит новую строку, за которой следует 0-индексированноеn
число Фибоначчи (может быть 1 индексировано), за которым следует новая строка, за которой следует тот же ввод n в квадрате, с последующим переводом строки с последующимn
умножением на новый вводm
.источник
Ответ 2 - DC
Требование: выводится
0
без0
исходного кода, затем принимает неотрицательное целочисленное значениеn
и выводит новую0
строку, за которой следует -индексированноеn
число Фибоначчи (может быть1
проиндексировано).Попробуйте онлайн!
источник
Ответ 5 - Питон 3
Требования: выводит 0 без 0 в исходном коде, затем принимает неотрицательный целочисленный вход n и выводит новую строку, за которой следует 0-индексированное n-е число Фибоначчи (может быть 1-индексным), затем новая строка, за которой следует тот же ввод n в квадрате, за которым следует новая строка, после которой n умножается на новый ввод m. Не используйте символ
*
, код ASCII 0x2A.источник
Ответ 6 - Mathematica
Требование: выводит 0 без 0 или * в исходном коде, затем принимает неотрицательное целочисленное значение n и выводит новую строку, за которой следует 0-индексированное n-е число Фибоначчи (может быть 1-индексным), за которым следует новая строка, за которой следует тот же ввод n в квадрате, за которым следует новая строка, за которой следует n, умноженный на новый ввод m, за которым следует новая строка, за которой следует 10 ^ B, где B - количество байтов в исходном коде.
источник
Ответ 7 - JavaScript (ES6)
Требование: функция, которая принимает два входа, неотрицательное целое число
n
и любое числоm
и возвращает строку, содержащую0
без использования0
где-либо в исходном коде, затем новую0
строку, за которой следует -индексированныйn
номер Фибоначчи (может быть1
проиндексирован), за которым следует символом новой строки, за которым следуетn
квадрат, за которым следует символ новой строки, за которым следуетn
умножение наm
без использования какого-*
либо места в исходном коде, затем перевод строки, после которого10^B
указываетсяB
число байтов в исходном коде и, наконец, после символ новой строки и индексированныйn
th0
(также может быть1
индексированный) простое число.Тестовый фрагмент
Показать фрагмент кода
источник
String.fromCharCode(48)
на1-1
. Не то, чтобы это действительно имело значение ;-) (Кроме того, позже в исходном коде есть два нуля, которые вы можете исправить таким же образом)Ответ 8 - Желе
Требование: функция, которая принимает два входа, неотрицательное целое число
n
и любое числоm
и возвращает строку, содержащую0
без использования0
где-либо в исходном коде, затем новую0
строку, за которой следует -индексированныйn
номер Фибоначчи (может быть1
проиндексирован), за которым следует символом новой строки, за которым следуетn
квадрат, за которым следует символ новой строки, за которым следуетn
умножение наm
без использования какого-*
либо места в исходном коде, затем перевод строки, после которого10^B
указываетсяB
число байтов в исходном коде и, наконец, после перевод строки иn
th-0
индексированный (также может быть1
-индексированный) простое число. Не разрешены встроенные команды для присоединения на новых строках, но разрешено присоединение к встроенным.Попробуйте онлайн!
источник
Ответ 9 - Скала
Требования : принимает два входа,
n
(> = 0) иm
. Выводы0
без использования0
или*
где-либо в исходном коде, и без встроенных для присоединения на новых строках. Затем выводит символ новой строки , за которой следует1
-indexed п - го числа Фибоначчи (могут быть0
проиндексированы), за которым следует символ новой строки, а затем вn
квадрат, за которым следует символ новой строки, а затемn
умножают наm
, с последующим переводом строки, а затем ,10^B
когдаB
это число байтов в исходном коде, за которым следуют символ новой строки и индексированноеn
th1
(может также0
индексироваться) простое число, и, наконец, символ новой строки и Величайший общий делитель n и m.Попробуйте это здесь
источник