Генератор случайных чисел

Форум для программистов

Сообщение Леха » Вс фев 15, 2004 11:47 am

Вот задумался.. Каким макаром можно его написать??
Леха
Полковник
 
Сообщений: 1261
Зарегистрирован: Чт мар 20, 2003 8:52 pm
Откуда: Россия, Москва, Улица, Дом, Квартира
Пункты репутации: 0

Сообщение Mafin » Вс фев 15, 2004 12:52 pm

Зачем делать работу, которая уже давно сделана!? Или просто спортивный интерес?
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение Леха » Вс фев 15, 2004 1:00 pm

2Mafin
интересно стало.... Изображение)

Код: выделить все
#ifndef NO_BRAIN
#include <brain>


Изображение %))
Последний раз редактировалось Леха Вс фев 15, 2004 1:56 pm, всего редактировалось 1 раз.
Леха
Полковник
 
Сообщений: 1261
Зарегистрирован: Чт мар 20, 2003 8:52 pm
Откуда: Россия, Москва, Улица, Дом, Квартира
Пункты репутации: 0

Сообщение Mafin » Вс фев 15, 2004 1:07 pm

2Леха
Хех!!! Изображение
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение poiuytr » Вс фев 15, 2004 2:04 pm

Методов много, в основном численно реализуемые методы генерируют псевдо случайную последовательность, то бишь последовательность у которой есть период повторения, но он очень большой. Пример алгоритма для генерации псевдослучайной последоваетльности:
    1. выбираешь число от 10 до 99 (от начального числа зависит период получаемой последовательности). Это будет первое число последовательности (например 71)</li>
    2. возводишь полученное число в квадрат (71^2=5041)</li>
    3. вырезаешь первых 2 символа из полученного квадрата (5041=>50) Это следующее число последовательности</li>
    4. шаг 2</li>
Чтобы получить действительно случайную последовательность можно использовать "физические" методы, например измерять величину теплового тока на резисторе или регистрировать количество пойманных в ловушку каких-нибудь елементарных частиц.
Hasta la victoria siempre!
poiuytr
Капитан
 
Сообщений: 233
Зарегистрирован: Ср авг 14, 2002 6:04 pm
Откуда: Рига, Латвия
Пункты репутации: 0

Сообщение FSA » Вс фев 15, 2004 2:45 pm

В своё время методы получения псевдослучайных чисел широко обсуждались в кругах владельцев ZX-Spectrum совсместимых компьютеров. Если интересует, могу поискать такие статьи.
"Скажи мне свой IP, и я скажу кто ты!"
Подпись: nslookup
FSA
Подполковник
 
Сообщений: 748
Зарегистрирован: Сб апр 20, 2002 8:38 pm
Откуда: Тавда, Россия.
Пункты репутации: 0

Сообщение Леха » Вс фев 15, 2004 3:12 pm

2FSA
посмотри, пожалуйста.....
Леха
Полковник
 
Сообщений: 1261
Зарегистрирован: Чт мар 20, 2003 8:52 pm
Откуда: Россия, Москва, Улица, Дом, Квартира
Пункты репутации: 0

Сообщение Aux » Чт фев 19, 2004 9:59 pm

У меня на полке лежит книжка по СИ/СИ++ - там куча методов. Тока нет времени напечатать. Сорри, как-нить позже.
Aux
Рядовой
 
Сообщений: 8
Зарегистрирован: Вт фев 03, 2004 4:09 pm
Откуда: Рига
Пункты репутации: 0

Сообщение Magister » Пт фев 20, 2004 9:24 am

2Леха
я как-то около года назад делал такой генератор на основе текущего системного времени в миллисекундах.
Тебе для БК? ;-)
Последний раз редактировалось Magister Пт фев 20, 2004 9:26 am, всего редактировалось 1 раз.
<!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo--><!--coloro:red--><span style="color:red"><!--/coloro-->все беды - от недостатка информации<!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc-->
Magister
Генерал-майор
 
Сообщений: 2501
Зарегистрирован: Вт авг 06, 2002 4:22 am
Пункты репутации: 0

Сообщение Slater » Пт фев 20, 2004 10:12 am

Если нужно очень срочно, то я могу сгенерировать тебе случайное число прямо сейчас. Смотри как это работает: 34893984012. Круто?
<span style='font-family:Arial'><span style='color:gray'><span style='font-size:8pt;line-height:100%'>There is surely nothing other than the single purpose of the present moment.</span></span></span>
Slater
Капитан
 
Сообщений: 178
Зарегистрирован: Пн авг 11, 2003 8:55 pm
Откуда: Kensington, London
Пункты репутации: 0

Сообщение Mafin » Ср апр 07, 2004 6:10 pm

2All
Решил не создавать отдельной темы, а продолжить эту.
Вопрос вот в чем:
Предложите, пожалуйста, алгоритм получения случайных чисел без их повторения.
Достаточно будет описания идеи или примеры на C/C++, PHP или JavaScript.
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение Andrew » Ср апр 07, 2004 6:24 pm

Берешь случайный адрес в памяти и читаешь его содержимое и повторяешь эту бадягу до тех пор пока не надоест получать реально случайные числа
Что нас не убъет, то сделает нас сильнее.
Первая проба пера <a href="http://t5-keeper.livejournal.com/" target="_blank">http://t5-keeper.livejournal.com/</a>
Andrew
Подполковник
 
Сообщений: 587
Зарегистрирован: Чт мар 28, 2002 6:29 pm
Откуда: Минск
Пункты репутации: 0

Сообщение MAPA3bM » Ср апр 07, 2004 11:53 pm

2Andrew
...пока не наткнёшься на чей-нибудь буфер, забитый нулями, или операционка GPF`ом по рукам не даст. Да, кстати - а "случайный адрес" чем генерить?
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Mafin » Чт апр 08, 2004 11:38 am

2Andrew
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->кстати - а "случайный адрес" чем генерить? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Вот-вот!!!???
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение Миша Спларов » Чт апр 08, 2004 12:37 pm

2Mafin
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->на основе текущего системного времени в миллисекундах<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
?
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

След.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron