Игральный кубик с произвольным числом граней
От: Twain  
Дата: 15.04.03 14:23
Оценка:
Указать способ построения сабжа.
Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

Естесственно, rand() % n не подходит :)
Re: Игральный кубик с произвольным числом граней
От: Pushkin Россия www.linkbit.com
Дата: 15.04.03 14:27
Оценка:
Здравствуйте, Twain, Вы писали:

T>Указать способ построения сабжа.

T>Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

Физически сконструировать? Тогда N-гранный карандаш.
А вот здесь
Автор: mrhru
Дата: 25.01.03
обошлись подбрасыванием одной единственной монеты.
Re: Игральный кубик с произвольным числом граней
От: UgN  
Дата: 15.04.03 14:35
Оценка:
Здравствуйте, Twain, Вы писали:

T>Указать способ построения сабжа.

T>Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

Типа плоского волчка многоугольника — когда остановится, упрется одной стороной — вот и число.
Re: Игральный кубик с произвольным числом граней
От: Рома Мик Россия http://romamik.com
Дата: 15.04.03 15:37
Оценка:
Здравствуйте, Twain, Вы писали:
T>Естесственно, rand() % n не подходит
(int)((float)rand() * n / RAND_MAX) тоже не подходит?
или вообще
while(n > (a = rand());

В обоих случаях нужно чтобы RAND_MAX была больше N.

Можно еще свой rand написать, но какая разница?
<< RSDN@Home 1.0 beta 6a >>
Re: Игральный кубик с произвольным числом граней
От: mrhru Россия  
Дата: 16.04.03 02:20
Оценка:
Здравствуйте, Twain, Вы писали:

T>Указать способ построения сабжа.

T>Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

T>Естесственно, rand() % n не подходит


Если N — чётно, то подойдёт N/2-мерный кубик.
Если N — нечётно, то (N + 1)/2-мерный кубик. Одну грань которого надо назвать джокером и при её выпадении бросать кубик ещё раз. Среднее число бросков 1 + 2/N.

Если такой кубик изготавливать лень , то можно сделать следующее:
— выберем любую главную диагональ кубика и спроектируем его на двухмерную плоскость. Получившийся равносторонний N-угольник используем в качестве основания призмы, катая которую по столу и получаем случайное число.
Гм, это есть карандаш Pushkin'а.
В борьбе бобра с ослом всегда побеждает бобро.
Re: Игральный кубик с произвольным числом граней
От: 3.14159.. Израиль  
Дата: 16.04.03 14:57
Оценка: 18 (2) :)
Здравствуйте, Twain, Вы писали:

T>Указать способ построения сабжа.

T>Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

T>Естесственно, rand() % n не подходит


А еще можно поделить экран на N областей и бросать мышку на коврик
Re: Игральный кубик с произвольным числом граней
От: kinstintin  
Дата: 17.04.03 07:08
Оценка:
Здравствуйте, Twain, Вы писали:

T>Указать способ построения сабжа.

T>Т.е. способ конструирования чего-то такого, что при "подбрасывании" через некоторые время останавливалось и выдавало цифру от 1 до N с вероятностью (1/N)

Взять две одинаковых пирамиды с числом боковых граней N/2 и склеить основания.
Конечно, N желательно не слишком большое, иначе будет большая погрешность.
Число сторон, правда, четное
... << RSDN@Home 1.0 beta 6a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.