Size: a a a

2020 July 06

AP

Artyom "avp&quo... in CADR
Artyom "avp" Poptsov
Задал студентам задачу:
Разработайте программу, эмулирующую бросание шестигранного игрального кубика.  Программа должна "бросать" шесть игральных кубиков до тех пор, пока на четырёх из них не выпадут одинаковые значения.  Вывести на экран значения кубиков, и количество "бросков", которое потребовалось сделать для получения четырёх одинаковых значений.

Вот одно из решений.  Слабонервным программистам не рекомендую смотреть.
Сделал таблицу со всеми вариантами, которые были описаны гиганским условием из кода.
источник

A

Anfid in CADR
Можно сгенерировать 3 числа, последнее повторить 4 раза, а потом перемешать массив этих чисел
источник

AP

Artyom "avp&quo... in CADR
Artyom "avp" Poptsov
Сделал таблицу со всеми вариантами, которые были описаны гиганским условием из кода.
По сути мы имеем дело с размещением с повторениями.  Для того, чтобы посчитать количество размещений, мы берём количество элементов n и возводим его в степень k, равную количеству ячеек.

Получается n^k = 6^6 = 46656 размещений.
источник

AP

Artyom "avp&quo... in CADR
Но в случае с этой задачей, нас интересуют только те размещения, где один из элементов повторяется 4 раза.
источник

AP

Artyom "avp&quo... in CADR
Artyom "avp" Poptsov
Сделал таблицу со всеми вариантами, которые были описаны гиганским условием из кода.
Иксами, кстати, показаны совпадения, которые проверяются в коде.
источник

in

ildar nizamov in CADR
копипаста - зло
источник

in

ildar nizamov in CADR
знать о существовании массивов - полезно
источник

A

Anfid in CADR
Я починиль
источник

A

Anfid in CADR
там srand вызывается внутри цикла
источник

A

Anfid in CADR
time(NULL) обновляется раз в секунду
источник

A

Anfid in CADR
Поэтому уникальные последовательности появляются только раз в секунду
источник

AP

Artyom "avp&quo... in CADR
Artyom "avp" Poptsov
Сделал таблицу со всеми вариантами, которые были описаны гиганским условием из кода.
Я тут озадачился вопросом, по какой формуле можно посчитать реальное количество вариантов выпадения одинаковых чисел в 4-х клетках из 6 — наподобие того, что у меня показано на скриншоте.
источник

AP

Artyom "avp&quo... in CADR
Anfid
Поэтому уникальные последовательности появляются только раз в секунду
Т.е. это и была причина столь большого количества попыток "бросания" кубика.
источник

AP

Artyom "avp&quo... in CADR
Artyom "avp" Poptsov
Я тут озадачился вопросом, по какой формуле можно посчитать реальное количество вариантов выпадения одинаковых чисел в 4-х клетках из 6 — наподобие того, что у меня показано на скриншоте.
@kilomeow, ты в математике хорошо шаришь, встречал ли ты формулу, которую я ищу?  😊
источник

A

Anfid in CADR
Я не шарю и могу ошибаться, но я бы предположил, что это будет как-то так
Варианты комбинаций * грани * грани ^ оставшиеся кубики
14 * 6 * 6^2 = 3024
3024 / 46656 = 6.48%
источник
2020 July 07

СЗ

Санитар Зачем... in CADR
в импортных чайниках. аккурат сегодня надо было вскрыть...
источник

СЗ

Санитар Зачем... in CADR
Alex qq
Инженер технолог, бакалавр
👍👍👍
источник
2020 July 08

AP

Artyom "avp&quo... in CADR
Нашёл любопытную книгу под называнием "Automata languages and computation": https://documents.pub/document/automata-languages-and-computation.html
источник

AP

Artyom "avp&quo... in CADR
источник

AP

Artyom "avp&quo... in CADR
Написал статью о небольшом коммерческом проекте, который делал до карантина в стенах хакерспейса CADR: https://te.legra.ph/Kak-my-v-CADRe-reklamnuyu-tablichku-delali-07-08
источник