标签:seed srand str 产生 cti iostream http pac src
随机数大小是在0到RAND_MAX,值为2147483647
它是在stdlib中定义的,如果我们希望在某个范围内,可以使用 % 结合 / 来实现。
但是发现每组生成的数据都是一样的
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main(){
for(int i=0;i<10;i++){
int x=rand();
printf("%d\n",x);
}
return 0;
}
之所以生成的数据是一样的,因为存在着一个随机数种子seed,默认seed(1)
只要改变seed就可以改变随机数
srand(time(0));是根据你当前的时间为seed,随着时间变化,seed的值也就不一样
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
srand(time(0));
for(int i=0;i<10;i++){
int x=rand();
printf("%d\n",x);
}
return 0;
}
rand()%x指的是[0,1)*x
[0,x)产生0到x-1的随机数
rand()%a+b
就是产生[b,a+b)
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
srand(time(0));
for(int i=0;i<10;i++){
int x=rand()%10;
printf("%d\n",x);
}
return 0;
}
标签:seed srand str 产生 cti iostream http pac src
原文地址:https://www.cnblogs.com/Emcikem/p/11624027.html