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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 65, средняя оценка - 4.68
SIvan
2 / 2 / 1
Регистрация: 10.05.2011
Сообщений: 19
#1

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

18.07.2011, 18:11. Просмотров 8383. Ответов 21
Метки нет (Все метки)

Здесь сказано
Не используйте % (получение остатка от деления) для ограничения получаемых случайных чисел. Это не самый лучший метод получения случайных чисел определенного диапазона значений
Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2011, 18:11     Генерация случайных чисел в заданном диапазоне.
Посмотрите здесь:
C++ Генерация случайных чисел на заданном диапазоне
Генерация случайных чисел в диапазоне 0 - 1 C++
Генерация случайных вещественных чисел в диапазоне 0..1 C++
Генерация псевдослучайных чисел в заданном диапазоне C++
C++ Генерация случайных чисел типа double во всем диапазоне
C++ Сформировать массив случайных целых чисел в заданном диапазоне
Генерация массива случайных чисел равномерно распределенных в заданном интервале и упорядочение массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,501
18.07.2011, 23:01     Генерация случайных чисел в заданном диапазоне. #16
Цитата Сообщение от grizlik78 Посмотреть сообщение
Правда гарантированно определить, что генератор является плохим нельзя, это можно утверждать лишь с некоторой заданной вероятностью.
Ну я бы немного по-другому сказал: не важно, какой из способов плохой, а какой ещё хуже. Если сложный способ добиться чего-либо не имеет явных преймуществ перед простым способом добиться того же самого, какой смысл использовать сложный способ?
А тестов случайной последовательности на случайность действительно много...
Bers
Заблокирован
18.07.2011, 23:23     Генерация случайных чисел в заданном диапазоне. #17
Цитата Сообщение от grizlik78 Посмотреть сообщение
Правда гарантированно определить, что генератор является плохим нельзя, это можно утверждать лишь с некоторой заданной вероятностью.
Кнут, том второй.
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
18.07.2011, 23:25     Генерация случайных чисел в заданном диапазоне. #18
Цитата Сообщение от Bers Посмотреть сообщение
Кнут, том второй.
А ничё, что я на него в том сообщении сослался?
Bers
Заблокирован
18.07.2011, 23:37     Генерация случайных чисел в заданном диапазоне. #19
Цитата Сообщение от grizlik78 Посмотреть сообщение
А ничё, что я на него в том сообщении сослался
Да нет, ничего. Правда, что-то ссылки невидать. Да и не писал Кнут ничего подобного:
Цитата Сообщение от grizlik78 Посмотреть сообщение
Правда гарантированно определить, что генератор является плохим нельзя, это можно утверждать лишь с некоторой заданной вероятностью.
Он лишь предложил разные методики определения "качества" рандома.

Если кому то захочется состряпать что нибудь этакое - могут почитать, проникнуться, и выбрать для себя подходящие.

Добавлено через 2 минуты
а.... извиняюсь, не увидил просто ссылки
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
18.07.2011, 23:39     Генерация случайных чисел в заданном диапазоне. #20
Bers, стоит яснее выражать свою мысль, а не просто "Кнут, том второй." Я вот до сих пор так и не понял, к чему это было.
Процитированные мои слова, это мои слова, Кнуту я их не приписывал. А ссылка до сих пор есть. Вернее не ссылка, а отсылка к той книге.
Bers
Заблокирован
18.07.2011, 23:50     Генерация случайных чисел в заданном диапазоне. #21
Цитата Сообщение от grizlik78 Посмотреть сообщение
Bers, стоит яснее выражать свою мысль, а не просто "Кнут, том второй." Я вот до сих пор так и не понял, к чему это было.
Не бывает "плохих" или "хороших" рандомов.
Ни "гарантированно", ни даже просто с некоторой "вероятностью".

Бывают рандомы "качественные", и не "качественные". Степень "качественности" определяется конкретными задачами, для которых они нужны.

Есть ещё один критерий качества - то, насколько сильно рандом по своему поведению приближен к реальной случайности.

Для того, что бы определить эту степень близости, у Кнута есть:

Цитата Сообщение от Bers Посмотреть сообщение
Он лишь предложил разные методики определения "качества" рандома.
Если кому то захочется состряпать что нибудь этакое - могут почитать, проникнуться, и выбрать для себя подходящие.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2011, 00:04     Генерация случайных чисел в заданном диапазоне.
Еще ссылки по теме:
генерация рандомных чисел в диапазоне C++
Генерация случайных чисел C++
C++ Генерация случайных чисел
C++ Генерация случайных чисел
C++ Генерация случайных чисел

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

Или воспользуйтесь поиском по форуму:
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
19.07.2011, 00:04     Генерация случайных чисел в заданном диапазоне. #22
Цитата Сообщение от Bers Посмотреть сообщение
Не бывает "плохих" или "хороших" рандомов.
Чем разделение на "плохие"/"хорошие" принципиально отличается от разделения на "качественные"/"не качественные"? Вопрос риторический.
Цитата Сообщение от Bers Посмотреть сообщение
Степень "качественности" определяется конкретными задачами, для которых они нужны.
Степень качественности невозможно определить точно. К сожалению под рукой второго тома сейчас нет, но там наверняка есть слова о том, что запросто можно забраковать "качественный" генератор.
Если что, тесты не обязательно предназначены для проверки псевдослучайных генераторов, которые по определению не могут быть случайными. Первое их назначение — проверка аппаратных датчиков. Эх, если бы был бы такой метод, который однозначно бы говорил: генератор качественный! Фига. Не может быть таких тестов. Зато можно напридумывать кучу тестов, которые забракуют некачественные. Вот только есть вероятность и качественные забраковать. Да в общем что это я тут? Было это всё у Кнута, если читать слова а не буквы Надоело мне тут философствовать на сегодня
Yandex
Объявления
19.07.2011, 00:04     Генерация случайных чисел в заданном диапазоне.
Ответ Создать тему
Опции темы

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