怎么产生0~1000000的浮点随机数?
rt,用c++产生,要分布均匀的,最好不要太复杂,谢谢!
[解决办法]
rand()*1. / (RAND_MAX/1000000.)
[解决办法]
+1
便加个
srand(time(NULL));
免得每次随机相同的数
[解决办法]
c++ primer 5 edition
[解决办法]
最大的返回值不是 32767 而是 RAND_MAX
就算是 32767
只要
除以0.32767 就能得到10000
除以0.032767 就能得到100000
除以0.0032767就能得到1000000
[解决办法]
直接用mt19937, mt19937_64
需要customize可洽std::mersenne_twister_engine
#include <ctime>
#include <iostream>
#include <random>
int main()
{
std::uniform_real_distribution<double> u(0, 1000000);
std::mt19937 e(std::time(0));
for(size_t i = 0; i != 100; ++i){
std::cout<<u(e)<<std::endl;
}
return 0;
}