![]() |
|
|
![]()
|
|
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Угу. Остается только арифметика больших чисел
Идея - на каждой итерации вычисляем среднее между минимумом и максимумом и выбираем (случайно) для дальнейшей генерации диапазон минимум-среднее или среднее-максимум Недостаток - будет долго работать (log2(Max-Min) итераций) |
|||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Извиняюсь за свое отсутствие, почитал ваши ответы, так и не понял в конечном счете что мне делать
Если символьное представление не годиться, то что тогда можно сделать? Я нашел инфу, что целые числа большой длины можно представить в виде массива, каждая ячейка которого хранит кусочек этого большого числа. Но тогда как быть с вещественными числами Это сообщение отредактировал(а) Alexey91 - 17.4.2011, 11:59 |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
здесь kemiisto дал три ссылки на библиотеки с арифметикой больших чисел. посмотри их. может, хоть и не заюзаешь, но будет понятно, как и что сделано...
почему же не годится ? вполне. оч. удобно выводить для отладки... просто нельзя генерить посимвольно.
не вижу проблемы ни с вещественными числами, ни с тем, что для удобства и простоты алгоритмов можно начинать число с '0' -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Хорошо, посмотрю GMP
Только как ее поставить на Windows???? Это сообщение отредактировал(а) Alexey91 - 17.4.2011, 13:50 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
вот ф-ция деления на 2
объёдени мою str_add с этой и вставь их в алгоритм, предложенный xvr. Я так сделал, проверил - работает. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 3 Всего: 85 |
возьмем простой пример. будем генерить числа в диапазоне 1..3 вероятность выпадения: 1 - 25% 2 - 50% 3 - 25% По настоящему равномерно распределенный ГСЧ (uniform random) не получится, ребята. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Ну если надо и для таких чисел тоже, то можно слегка модифицировать выбор половин (в моем алгоритме). Можно выбирать их не равновероятно, а пропорционально их размеру (что имеет смысл когда диапазон сойдется до нескольких цифр. Кстати, в этом случае вообще можно отконвертить разность в банальный int и сделать выбор сразу по нему всему, обычным rnd) |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |