Название: аналог mt_rand Отправлено: thechicho от Октября 05, 2011, 23:16 подскажите аналог php функции http://php.net/manual/ru/function.mt-rand.php (http://php.net/manual/ru/function.mt-rand.php) (или ее реализацию)
ща у меня так пока что Код
qint64 a = mt_rand(100000, 999999); генерирует, что-то вроде: 129358 100491 100153 121726 109894 107711 112859 101842 123805 103548 107376 121538 129658 128745 116512 115574 103430 110383 124946 101655 что совсем нехорошо. Название: Re: аналог mt_rand Отправлено: kambala от Октября 05, 2011, 23:56 qsrand() в начале программы не забыл?
Название: Re: аналог mt_rand Отправлено: thechicho от Октября 06, 2011, 09:16 а чо толку? пробовал и в мейн, и в конструктор пихать qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
все равно с 1 число начиналось. сделал так: Код
по другому нельзя? раз костыль, два костыль и готова прога на Qt Название: Re: аналог mt_rand Отправлено: LisandreL от Октября 06, 2011, 09:27 #define RAND_MAX 0x7FFF
Т.е. числа генерируются от 0 до 32767. Отсюда и ваша проблема. Название: Re: аналог mt_rand Отправлено: thechicho от Октября 06, 2011, 09:34 объясните, плиз, нубу чо это значит.
и как решить мою проблему "правильно" Название: Re: аналог mt_rand Отправлено: kambala от Октября 06, 2011, 09:49 это значит, что результат выполнения функции в посте №1 и №3 (второй вызов) будет всегда qrand() + a
чтобы расширить диапазон, надо писать свой генератор, используя линейный конгруэнтный метод к примеру Название: Re: аналог mt_rand Отправлено: LisandreL от Октября 06, 2011, 10:03 объясните, плиз, нубу чо это значит. Ваш диапазон 100000 - 999999 шире чем генерируемый qrand() поэтому не весь ваш диапозон будет покрыт.Самый простой вариант: Код
Название: Re: аналог mt_rand Отправлено: thechicho от Октября 06, 2011, 10:33 // линейный конгруэнтный метод к примеру
:D сенкс за помощь) Название: Re: аналог mt_rand Отправлено: thechicho от Октября 06, 2011, 17:36 (http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/2000/300/2318/2318.strip.gif)
Название: Re: аналог mt_rand Отправлено: LisandreL от Октября 06, 2011, 18:55 http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/2000/300/2318/2318.strip.gif (http://imgs.xkcd.com/comics/random_number.png) ;) |