Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Danmerpro
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 6
#1

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

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

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

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

Генератор псевдослучайных чисел - C++
Данный генератор работает по конгруэнтному методу, формула X_{n} = ( a X_{n-1}^3 + b X_{n-1}^2 + c X_{n-1} + d )\mod 2^e. При...

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

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

генератор псевдослучайных чисел... - C++
Вот програмулька генерирующая псевдослучайные числа создавалась по алгоритму X(n+1)=a*X(n)+c*(mod M) кто может подсказать как выводить...

Генератор псевдослучайных чисел - C++
Всем привет. Как такое "чудо" пишеться, примерный алгоритм, если можно на псевдокоде: Написать генератор псевдослучайных чисел по...

3
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,389
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 / 2
Регистрация: 03.11.2009
Сообщений: 413
09.11.2009, 13:07 #3
http://www.cyberforum.ru/cpp-beginners/thread44753.html
0
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
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
09.11.2009, 13:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2009, 13:16
Привет! Вот еще темы с ответами:

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

Массивы,генератор псевдослучайных чисел. - C++
Всем привет,помогите разобраться с 2 задачами. 1) Дана последовательность из n вещественных чисел. Найти наиболее длинную...

Генератор псевдослучайных чисел - проблема. - C++
Очень нужно написать программу-генератор псевдослучайных чисел на языке С. Насколько я понимаю должна использоваться функция rand, но она...

Генератор псевдослучайных чисел Парка-Миллера - C++
Здравствуйте! Как мне решить данную задачу? Минимальный генератор Парка- Миллера Простейшая последовательность , которую можно...


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

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

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