在[a,b]中生成n个不重复的随机数
可以使用srand()来设置rand()产生随机数时的随机数种子,设置不同的种子可以获取不同的随机数序列。
可以利用srand((int)(time(NULL))的方法,利用系统时钟,产生不同的随机数种子。需要调用time(),所以要加入头文件< ctime >。(这里用了万能头文件)
#include<bits/stdc++.h>
using namespace std;
int main()
{
srand((int)time(0));
int arr[100]= {0};
int i=0,t=0,n=0,a=0,b=0;
cin>>n>>a>>b;
while(t<n)
{
i=rand()%(b-a+1) +a;
if(arr[i]==0)
{
arr[i]=1;
cout<<i<<" ";
t++;
}
}
}