В стандартном кубике (кубике) числа расположены так, что противоположные грани добавляют к семи. Напишите самую короткую из возможных программ на предпочитаемом вами языке, которая выдает случайный бросок, за которым следуют 9 случайных подсказок. Опрокидывание - это четверть оборота костей, например, если кость обращена к 5, все возможные опрокидывания равны 1,3,4 и 6.
Пример желаемого результата:
1532131356
code-golf
random
repeated-transformation
steenslag
источник
источник
JavaScript (71 символ)
Возможно, вам придется заменить
print
наalert
или что-то еще, в зависимости от вашей среды JavaScript.источник
GolfScript, 28
источник
удар
пример кода: http://ideone.com/CCfro
источник
((var=expression))
очень хорошо - я подумал, что самый короткий путь был.var=$((expression))
Но почему вы используете это только один раз и тратите тонны символов на expr в обратных галочках?Р,
5652источник
Bash только с одной петлей:
100 99 9896http://ideone.com/XrZO7
Основная идея заключается в том, что для выбора случайного числа в [1, x], которое не равно y, можно выбрать случайное число в [1, x-1] и затем увеличить его, если оно> = y. Для этой задачи нам нужно случайное число в [1,6], которое не равно f или 7-f. Мы должны сделать два теста в порядке min (f, 7-f), max (f, 7-f).
Предполагая, что изначально пустое окружение может сохранить 2 символа, не инициализируя i и изменяя условие цикла на
i++<10
источник
Баш:
97 94 92 90 8987Сильно играл в гольф от ответа Aman ZeeK Verma:
http://ideone.com/QiuTx
NB, возможно, его можно сократить на 5 символов, изменив первую строку на,
for((;i++<10;))
но это делает предположения, которые не всегда верны. В ideone это работало бы нормально, но кто-то, запускающий его из оболочки, мог иметьi
илиf
экспортировать что-то ненулевое.источник
man bash
, хотя, я рекомендую это. Однажды я прочитал его от корки до корки, и просто смутное представление о том, что можно и стоит искать, мне очень помогло.Windows PowerShell, 45
Довольно тривиально, на самом деле. Я генерирую список возможных бросков костей,
1..6
а затем выбираю только те, которые не равны семи минус последний бросок, а затем только те, которые не равны последнему броску. Из оставшегося списка я затем выбираю случайный элемент и назначаю его$d
. Так$d
как изначально лечится так, как0
в первый раз бросает нормальный кубик.Тестовый скрипт:
История:
источник
The term 'random' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
Get-Random
Командлет не существует в v1.J
Это должно работать, но, к сожалению, генератор случайных чисел J застревает после 3-й итерации:
6 4 5 4 5 4 5 4 5 4
источник
(?4)
как правило, прокручивается один раз и рассматривается как константа для последующих итераций, если вы не будете осторожны с этим. Я работал над этим, используя(?@4:)
подобную конструкцию.Рубин
66 персонажей
источник
J, 30 знаков
6 2 3 5 4 2 4 1 3 6
Пояснения (читайте справа налево):
?6
возвращает случайное число от 0 до 5^:(<10)
применяет функцию 9 раз, накапливая результаты по пути. Функция:?@4:{(i.6)-.],5&-
] , 5&-
возвращает массив входного числа и его дополнение к 5 (в настоящее время мы работаем с числами на основе 0, поэтому сумма противоположных граней равна 5)(i. 6) -.
удаляет их из полного набора целых чисел от 0 до 5. Мы оставляем все действительные позиции после одной операции опрокидывания из входной позиции.?@4: {
выбирает один из них наугад.>:
увеличивает всю последовательность, чтобы вернуть цифры к интервалу от 1 до 6.источник
GS2, 16 байт
вот как это работает
источник
QBasic (71 символ)
Две новые строки необходимы и включены в число символов как один символ каждый.
источник
TI-BASIC,
3834Скучное решение, но оно короче предыдущей ревизии. Я пользуюсь тем, что на свежем калькуляторе
Ans
инициализируется до нуля.источник
Java 8, 130 байт
Попробуй это здесь.
В полной программе с подробным main-методом это будет 178 байт :
Попробуй это здесь.
Полупорт порт @AmanZeeKVerma 's Bash answer .
Объяснение:
источник
MATLAB 58 байт
источник
> <> , 71 байт
Я рад, что смог продемонстрировать
x
рандомизацию указателя кода > <>, поскольку я не помню, чтобы видел это здесь.Вы можете попробовать это на этом онлайн-переводчике (вставить код, отправить, запустить).
источник
R , 67 байт
Попробуйте онлайн!
Есть ответ R от Golfier, но я думаю, что этот подход отличается от ответов, представленных до сих пор.
источник
05AB1E , 23 байта
Можно определенно играть в гольф, но я в настоящее время не вижу этого ..
Попробуйте онлайн.
Объяснение:
источник