-
c++自带rand()产生随机数
srand()
设置随机数种子,rand()
产生0-RANMAX
之间的随机整数,通过自己设计变换可以转换成其他分布的随机数#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main() { srand(time(0)); for(int i=0; i<10; i++) { cout<<rand()<<endl; //产生0-RANMAX之间的整数 } return 0; }
-
c++11的random库产生随机数
#include<random>
,示例如下#include<iostream> #include<random> //C++11产生随机数 #include<ctime> using namespace std; int main(int argc, char** argv) { default_random_engine e; e.seed(time(0)); //均匀分布 std::uniform_int_distribution<int> Uniform_i(0,10); // 左闭右闭区间 uniform_real_distribution<double> Uniform_d(0,1); //正态分布 std::normal_distribution<double> Normal_d(0,1); // 均值为0,标准差为1 //二项分布 std::bernoulli_distribution Ber_i(0.8); // 生成1的概率为0.8 cout<<"均匀分布整数-----------"<<endl; for(int i=0; i<10; i++) { cout<<Uniform_i(e)<<endl; } cout<<"均匀分布实数-----------"<<endl; for(int i=0; i<10; i++) { cout<<Uniform_d(e)<<endl; } cout<<"正太分布-----------"<<endl; for(int i=0; i<10; i++) { cout<<Normal_d(e)<<endl; } cout<<"二项分布-----------"<<endl; for(int i=0; i<10; i++) { cout<<Ber_i(e)<<endl; } return 0; }
C++11产生随机数,random库产生随机数
于 2022-08-22 22:59:30 首次发布
这篇博客介绍了C++中生成随机数的方法,包括使用srand()和rand()的基本方法,以及C++11引入的random库。通过示例展示了如何生成均匀分布、正态分布和二项分布的随机数,为编程中的随机数需求提供了更精确的控制。
摘要由CSDN通过智能技术生成