Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Методы получения случайных чисел?

3.2K
13 октября 2006 года
MasterKlass
47 / / 06.03.2005
Их вроде-бы 3..
1) аппаратный
2) табличный
3) алгоритмический

с 1 и 3 вроде ясно, а какие такие табличные методы.. это что такое? пример есть у кого-нибудь?
22K
13 октября 2006 года
Extortioner
1 / / 13.10.2006
Задача на самом деле не так уж и проста как кажется. Первое что приходит на ум это завести пару массивов и скидывать во второй массив только те эементы первого массива, которые отсутствуют во втором. Это так сказать метод решения задачи в лоб :-)
Однако немного подумав, я придумал следующее решение.
К примеру у нас есть массив с числами от 1 до N, нам надо получить массив, состоящий из тех же чисел, но разбросанных в произвольном порядке.
Если решать задачу в лоб, то хренова туча времени уйёдт на поиск ответа на вопрос - "а есть ли во втором массиве такой-то элемент?"
Поэтому мы пойдём другим путём. Небольшая иллюстрация решения:
Пусть N=7, тогда массив
A Содержит 1 2 3 4 5 6 7
Вызовем функцию (Pascal) random(7)+1, к примеру она возвратила нам 3, тогда мы меняем последнее число и третье местами - получается A [1,2,7,4,5,6,3]
А теперь мы должны вызвать random(6)+1 и поменять местами полученный элемент массива и его 6-ой элемент, то есть к примеру могло получиться А[6,2,7,4,1,3] ту же опреацию мы будем проделывать и далее, пока у нас аргумент функции random не станет равным 2. тогда можно прерывать итерации цикла.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог