Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Danmerpro
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 6
1

Генератор псевдослучайных чисел.

09.11.2009, 12:26. Просмотров 2372. Ответов 3
Метки нет (Все метки)

Здраствуйте. Мне нужно сделать вот что "Написать генератор псевдослучайных чисел по алгоритму
r = r * 4231 + 123457; Подсчитать частоты попадания в каждый из интервалов длиной 10000 при выборке 500000"
В связи с этим возникли вопросы.Опишите пожалуйста,как работает rand() и srand(),а ещё лучше дайте пожалуйста ссылку,где всё это подробно описано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2009, 12:26
Ответы с готовыми решениями:

Генератор псевдослучайных чисел
Народ, помогите плиз с решением этой задачи. Мне надо управляемый генератор...

Генератор псевдослучайных чисел.
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; ...

генератор псевдослучайных чисел...
Вот програмулька генерирующая псевдослучайные числа создавалась по алгоритму...

Генератор псевдослучайных чисел
Данный генератор работает по конгруэнтному методу, формула X_{n} = ( a...

Генератор псевдослучайных чисел
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457;...

3
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
09.11.2009, 13:02 2
Ну, в MSVC++ 6 (1998) использовался следующий алгоритм (это фактически твоя фунция rand()):
C++
1
2
3
4
5
6
7
int CRnd::Random(int max) 
{     
    // именно по этой фоpмyле высчитывается random seed     
    // seed типа DWORD     
    seed = seed * 0x343FD + 0x269EC3;     
    return ((seed >> 16) & 0x7FFF) % max; 
}
Возможно, он же используется и в более старших версиях - тут я уже не разбирался.....
Коэффициенты здесь специально подобраны (этакие "магические числа") и менять их не следует - при данных числах получается генератор равномерного распределения. Но для твоего случая некие "магические числа" уже заданы в задании.
А srand() просто записывает в опорное число seed некое случайное значение (обычно для получения такого "случайного" значения используются показания системных часов на момент вызова функции).
1
Iworb
анимешник++
93 / 60 / 7
Регистрация: 03.11.2009
Сообщений: 424
09.11.2009, 13:07 3
http://www.cyberforum.ru/cpp-beginners/thread44753.html
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,531
09.11.2009, 13:16 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main () {
 srand (time(0));
 while (1) {
  printf ("%d\n",  rand ());
  getchar ();
 }
 return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2009, 13:16

Генератор псевдослучайных чисел
Всем привет. Как такое &quot;чудо&quot; пишеться, примерный алгоритм, если можно на...

Генератор псевдослучайных чисел - проблема.
Очень нужно написать программу-генератор псевдослучайных чисел на языке С....

Генератор псевдослучайных чисел (иллюзия?)
Пусть есть какое-либо событие и оно может быть либо удачным, либо не удачным....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru