c/c++ 随机数

  • c风格的随机数
1
2
3
4
5
6
7
#include<stido.h>
#include<time.h>

int main(){
srand(time(0));
rand(); //rand()为0到最大的int值
}
  • c++ 标准库
1
2
3
4
5
6
7
8
#include<random>
#include<ctime>

default_random_engine e(time(0));
std::uniform_real_distribution<double> u(0, 1);//包括 0 ,不包括 1
std::uniform_int_distribution<int> dis1(0, 100);//包括 0 和 100

double p = u(e); //p在0到1之间
uniform_int_distribution的随机数的范围不是半开范围[ ),而是[ ],对于uniform_real_distribution却是半开范围[ )。