用C++实现java的math.random()函数. 看算法课算法老师一直调java的math.random()函数,我就自己写了一个C++对应版.
#include <iostream>
#include <random>
#include <cstdlib>
#include <time.h>
double math_random(){
// srand(0);
return (double)(rand()%10000+1)/10000; //用的时候在for循环里加上 srand(time(NULL)*j); 这里精确度是取10000
}
int main() {
int testtimes=100000;
int a[10];
for (int i = 0; i < 10; ++i) {
a[i]=0;
}
double b;
for (int j = 0; j < testtimes; ++j) {
srand(time(NULL)*j);//确保真正的随机,如果只加时间函数不行
b= math_random();
if (b>0&&b<0.1){
a[0]++;
}
if (b>0.1&&b<0.2){
a[1]++;
}
if (b>0.2&&b<0.3){
a[2]++;
}
if (b>0.3&&b<0.4){
a[3]++;
}
if (b>0.4&&