use*_*513 0 c++ random numbers
下面的函数运行,但每次运行程序时总是返回相同的数字.有没有办法在每次运行程序时生成不同的随机数?
int getrand(int min,int max){
int rnum = rand()%(max-min)+min;
return rnum;
}
Run Code Online (Sandbox Code Playgroud)
您可能希望使用高质量的标准库随机数生成工具:
#include <random>
typedef std::mt19937 rng_type;
std::uniform_int_distribution<rng_type::result_type> udist(min, max);
rng_type rng;
int main()
{
// seed rng first:
rng_type::result_type const seedval = 4; // or implement a good get_seed()?
rng.seed(seedval);
rng_type::result_type random_number = udist(rng);
return random_number;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |