Подробнее Codington Crescent
Кто готов для второй попытки?
Если вы когда-нибудь слушали радиопрограмму «Простите, я понятия не имею», то вы, вероятно, слышали об игре под названием «Mornington Crescent». Для тех, кто этого не сделал, это игра, в которой игроки называют случайные станции в сети лондонского метро. Первый человек, назвавший «Морнингтон Кресент», побеждает в игре. 1
Как и в прошлый раз , я представляю вам еще одну игру Codington Crescent .
Соревнование
Победитель этого испытания - первый человек, опубликовавший рабочую программу, которая, учитывая список положительных целых чисел переменного размера, возвращает среднее значение (среднее арифметическое) указанного списка. Список не будет пустым и всегда будет содержать хотя бы один элемент. Ввод и вывод можно подавать в любом разумном и удобном формате.
Тестовые кейсы
[150, 541, 168, 225, 65, 191, 964, 283, 825, 5, 802, 426, 45, 326, 22, 619, 281] => 349.29411764705884
[874, 33, 423, 36, 1000, 255, 345, 902, 700, 141, 916, 959, 222, 246, 96] => 476.53333333333336
[567, 868, 680, 121, 574, 391, 233, 39, 764, 499, 455, 684, 742, 117, 376] => 474.0
[177, 372, 778, 709, 474, 796, 840, 742] => 611.0
[181, 751, 940, 782, 727, 756, 541, 762, 677, 751, 719] => 689.7272727272727
[47, 804, 782, 231, 170] => 406.8
[315, 972] => 643.5
[679, 727] => 703.0
[859, 229, 363, 468, 103, 104, 570, 772, 83, 693, 898, 672, 306, 733, 189, 717, 231] => 470.0
[228, 839] => 533.5
[395, 622, 760, 820, 70, 814, 797, 202, 277, 663, 93, 218, 564, 735] => 502.14285714285717
[724, 631, 932, 333, 605, 880, 670, 468, 703, 744, 680, 28] => 616.5
[950, 733, 305, 178, 995] => 632.2
[762, 506, 553, 284, 499, 694, 665, 998, 576, 504, 123, 658, 943, 385, 354, 732] => 577.25
[151, 919, 514, 721, 426, 333, 808, 514] => 548.25
[995] => 995.0
[891, 243, 42, 968, 458, 372, 301, 269, 559, 394, 980, 372, 804, 429, 738] => 521.3333333333334
[147, 473, 632] => 417.3333333333333
[105, 483, 225, 541, 684, 456, 328] => 403.14285714285717
[311, 1, 770, 417, 910, 185, 375, 631, 226, 266, 609] => 427.3636363636364
Генератор тестовых примеров
Правила
- У каждого игрока своя программа, по которой они будут добавлять / менять персонажей. Это называется их беговой программой .
Каждый ответ ( очередь ) должен соответствовать ограничениям источника, определенным предыдущими ответами. Это так называемые правила . Каждый вариант длится 5 ходов . Правила имеют форму ограничений ограниченного источника .
В запущенных программах можно менять язык между ходами.
Автоответчики (игроки) могут добавлять, изменять или удалять (но только один из вариантов) столько персонажей своей запущенной программы за ход, сколько захотят. В качестве альтернативы, они могут выбрать «пройти» (с научной точки зрения , farkle ), не добавляя новых правил и по-прежнему считая ход. Это может быть единственный выбор, если правила противоречат друг другу. Счетчик ходов все еще увеличивается и будет опубликован. Совет от профессионала: вы, вероятно, захотите отметить его вики сообщества, потому что он мало что добавляет.
В конце каждого хода игрок объявляет новое правило, которое распространяется на следующие 5 ходов. Правила должны быть объективными, и настоятельно рекомендуется программа проверки TIO. Кроме того, правила должны применяться ко всем языкам (например,
Programs must not error using Python 3.4.2это недопустимое правило).Игра продолжается до тех пор, пока работающая программа не достигнет целевого результата.
Если ход не делали в течение недели, произойдет неявный фаркл . Вы всегда можете сделать ход после неявного фаркла, так как он считается за ход (воспринимайте его как ход пользователя Сообщества).
Стартовые правила
Что касается начала игры, первые 5 ходов должны соответствовать следующим правилам:
- Повороты могут не достичь конечной цели
- Минимальная длина программы 10 байт.
Постоянные правила
В прошлый раз было отмечено, что следующие правила лучше подходят как постоянное правило, чем правила пяти ходов:
Запущенные программы должны быть неразрывными. Неприводимый в этом случае означает, что программа не производит вывод всей программы, если символы из всей программы удалены. Т.е. Не существует программы с таким же выводом по умолчанию, который можно создать, удалив символы из исходной программы.)
Программа не может выиграть в течение 5 ходов после первого появления.
Примеры правил
Это просто примеры того, что вы могли бы добавить в качестве правил к задаче. Они не применяются, если кто-то не решит их использовать.
- Первый и последний символы запущенной программы должны быть пробелом.
- У запущенных программ должно быть четное количество байтов.
- Размер выполняемых программ не должен превышать 30 байт.
Правила объединения дополнительных ответов
- Дважды подряд отвечать нельзя. Кто-то еще должен ответить, прежде чем вы сделаете еще один шаг.
- Чтобы получить правильные ответы, языки должны быть в «Попробуйте онлайн».
Совет: сортируйте по самым старым для более связного потока ответов
1 В оригинальной игре Mornington Crescent действительно нет правил ... Это скорее занятие, которое выглядит как сложная игра.
Шаблон ответа
# [Language], turn number [your turn]
<code>
[Try it online link]
[prev answer link]
## Rules
- Rule (n turns left)
- Rule (n turns left)
- Rule (n turns left)
Ответы
05AB1E , поворот 3
$XY~sDOsg/*+
Попробуйте онлайн!
(Как мне связать предыдущий ответ?)
Мальчик, я люблю Code Golf!
Объяснение
$ # Push 1 and input
X # Push 1
Y # Push 2
~ # Converts 1 and 2 to 3
s # Swap to get implicit input
D # Duplicate
O # Sum the list
s # Swap top 2 values and gets the preserved list.
g # Push the length of the list.
/ # Push the quotient of sum and length
* # Multiply with 3
+ # Add with one
Текущие правила
- Повороты могут не достигать конечной цели - выводит тройное среднее плюс один ( осталось 2 оборота! )
- Минимальная длина программы - 10 байт (осталось 3 оборота) - Длина программы 12 байт ( осталось 2 оборота! )
- Программы должны содержать символ ~ - символ должен нажимать побитовое ИЛИ для 1 и 2 ( 3 поворота влево! )
- Программы должны иметь среднее значение байта меньше или равное 80 - Среднее значение байта программы составляет 79,25 (осталось 4 хода!)
Новое правило
Барабанная дробь
Программа должна включать 5-10 не буквенно-цифровых символов (осталось 5 ходов!)
Io , 20 байт
Возвращает среднее значение +1.
method(~,~average+1)
Попробуйте онлайн!
Правила
первые 5 ходов должны соответствовать следующим правилам:
- Повороты могут не достичь конечной цели
- Минимальная длина программы 10 байт.
это касается всех запущенных программ:
Запущенные программы должны быть неразрывными. Неприводимый в этом случае означает, что программа не производит вывод всей программы, если символы из всей программы удалены. Т.е. Не существует программы с таким же выводом по умолчанию, который можно создать, удалив символы из исходной программы.)
Программа не может выиграть в течение 5 ходов после первого появления.
Новое правило:
- Программы должны содержать
~символ
Python 3 , 23 байта, поворот 2
lambda l:sum(l)/~len(l)
Попробуйте онлайн!
Введите как список чисел с плавающей запятой; выводится как float.
Правила
Постоянные правила:
Запущенные программы должны быть неразрывными. Неприводимый в этом случае означает, что программа не производит вывод всей программы, если символы из всей программы удалены. Т.е. Не существует программы с таким же выводом по умолчанию, который можно создать, удалив символы из исходной программы.)
Программа не может выиграть в течение 5 ходов после первого появления.
Текущие правила:
- Повороты могут не достигать конечной цели (осталось 3 хода)
- Минимальная длина программы - 10 байт (осталось 3 оборота)
- Программы должны содержать
~символ (осталось 4 хода)
Мое новое правило:
- Программы должны иметь среднее значение байта меньше или равное 80. ( верификатор )
Befunge-98 (PyFunge) , 13 байт, ход 5
(ход 4 был неявным фарклом)
"PDPF"4(~FP@
Этот ответ далек от победы, но я добавляю некоторых персонажей, которые, вероятно, понадобятся средней программе на этом языке, и сохраняю задачу.
Попробуйте онлайн!
Предыдущий ответ
Правила:
- Программы могут не достичь конечной цели (последняя очередь)
- Минимальная длина программы 10 байт (последний ход)
- Программы должны содержать символ ~ (1 поворот налево)
- Программы должны иметь среднее значение байта, меньшее или равное 80. (2 хода влево)
- Программа должна включать 5-10 не буквенно-цифровых символов (осталось 3 хода!)
- Программы не могут содержать 2 последовательных строчных буквы (осталось 5 оборотов)