Ваша задача состоит в том, чтобы создать программу, которая добавляет случайные числа к предыдущим суммам в финальной гонке по числу.
Каждый гонщик (столбец) начинается с 0 и добавляет 1 или 0 к предыдущей сумме на каждом этапе гонки, пока все гонщики не наберут количество очков, необходимое для победы. 1 или 0 должны быть выбраны случайным образом (стандартное определение случайного можно найти здесь ). В выходных данных будет показан результат гонки с каждым столбцом, представляющим одного гонщика, в следующем формате:
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
Примечание: только цифры, + и = должны быть включены в вывод.
вход
Ваша программа примет следующие два параметра в качестве входных данных:
- количество гонщиков (столбцов), которое должно быть больше двух
- счет, необходимый для победы, который должен быть больше единицы
Это код-гольф - программа с наименьшим количеством байтов выигрывает.
Изменить: есть неисполнимый максимальный счет 9 - это для сохранения целостности столбца. Кроме того, пробелы между столбцами могут быть опущены в выводе.
Ответы:
Желе,
373633 байта3 байта благодаря Денису.
Попробуйте онлайн
объяснение
источник
,‘X
(пара с увеличенным n , случайный выбор). В главной ссылкеṫ2
можно заменитьḊ
(dequeue) и”
на переменную⁶
.Pyth ,
3834 байтаПопробуйте онлайн!
источник
TSQL,
367345341 байтGolfed
Попробуйте онлайн
Ungolfed:
Обратите внимание, что случайное начальное число на тестовой площадке всегда будет одинаковым, каждый раз давая один и тот же результат, а при управлении студией - разные результаты. Можно использовать разные значения для гонщиков и цели, чтобы получить другую картину
источник
Python 3, 237 байт
Функция, которая принимает входные данные через аргумент и печатает в STDOUT. Этот подход использует тот факт, что выходной цикл следует циклу четвертого периода в форме «+ значение = значение» для всех гонщиков. Используя счетчик по модулю четыре, можно индексировать список, содержащий желаемое значение для каждого шага в виде строки, и результат оценивать с помощью функции eval в Python.
Как это работает
Попробуйте это на Ideone
источник
Python 2 , 191 байт
Попробуйте онлайн!
Python 3 , 200 байт
Попробуйте онлайн!
источник
Python 2, 278 байт
где г нет. гонщиков и W это счет, чтобы выиграть
Попробуй это здесь!
источник
Perl 5 , 150 байт
Попробуйте онлайн!
Первый ввод - количество гонщиков, второй - оценка.
источник