与随机数相关的函数
函数一:int rand(void);
从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);
参数seed是rand()的种子,用来初始化rand()的起始值。srand((unsigned int)time(0)).生成0到n-1之间的随机数
//0到n-1的随机数
int random(int n)
{
if(n==0)
return 0;
return rand()%n;
}
生成a到b之间的随机数
//a到b之间的随机数
int random(int a,int b)
{
int area=b-a+1;
return (int)(area*rand()/(1.0*RAND_MAX)+a);
}
生成n个0到n-1的不重复的随机数(或者)无序输出有序的0到n-1的数组
//乱序输出不重复的0到n-1之间的数
void Random(int n)
{
int* a =new int[n];
for(int i=0;i<n;i++)
{
a[i]=i;
}
for(int i=n-1;i>1;i--)
{
int index=random(i-1);
int temp=a[index];
a[index]=a[i];
a[i]=temp;
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<endl;
}
}
自己对C++的随机数的使用还很不熟悉,以此作为笔记,或许继续补充