От 1 до 100
|
|
SaM_ | Дата: Суббота, 18 Июня 2011, 23:32 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Никогда не понимал как компьютер может случайно выбрать число, например от 1 до 100. Может объяснит кто-то? Ведь от чего-то должен зависить выбор?
Сообщение отредактировал SaM_ - Суббота, 18 Июня 2011, 23:35 |
|
| |
Matou | Дата: Суббота, 18 Июня 2011, 23:53 | Сообщение # 2 |
Исходный коТ
Сейчас нет на сайте
| На самом деле никак не может)
|
|
| |
karuy | Дата: Суббота, 18 Июня 2011, 23:59 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Его вибор псевдо случайно, мусор с регистров тянет вроди, у меня на курсач било задание скласть генератор случайних чисел, понаставлял ЛЕ где пальцем попал после счетчика и результат казался рандомним, хотя таким не бил.
|
|
| |
Matou | Дата: Суббота, 18 Июня 2011, 23:59 | Сообщение # 4 |
Исходный коТ
Сейчас нет на сайте
| Существуют математические алгоритмы которые позволяют выдавать ряд чисел из заданного диапазона, сам этот ряд каждый раз один и тот же, ценность самих алгоритмов как правило определяется равномерностью распределения выдаваемых чисел. На том же С стандартная функция rand() будет каждый раз выдавать одни и те же числа, чтобы сделать эти числа более случайными привязывают начальную позицию ряда к таймеру.
|
|
| |
noTformaT | Дата: Воскресенье, 19 Июня 2011, 00:25 | Сообщение # 5 |
Ukrainian independent game developer
Сейчас нет на сайте
| SaM_, генератор случайных чисел, его часто называют генератор псевдослучайных чисел в основном выдает число в диапазоне от 0.0 до 1.0. Чтобы получить случайное (псевдослучайное) число в пользовательском диапазоне, можно использовать самый простейших алгоритм: Случайное число = Точка начала диапазона + (Разница между конечной точкой диапазона и начальной) * на выход из генератора. Тоесть, если у нас есть диапазон [1..100], и например генератор выдает на выходе 0.7879, то мы получим 1 + (100 - 1) * 0.7879 = 100 * 0.7879 = 78,79. Или во втором случае, диапазон = [75..187], выход из генератора - 0.5, тогда случайное (псевдослучайное) число будет = 75 * [187 - 75] * 0.5 = решишь сам, мне просто в лом. Насчет генераторов, то тут есть даже стандарты, достаточно погуглить "генератор чисел рандом вики", но из самых известных это "Регистр сдвига с обратной связью по переносу", звучит замудро, но на самом деле не сложнее чем кирпич
@noTformaT
|
|
| |