编程语言
首页 > 编程语言> > 十行代码一重循环实现C++在指定范围内生成指定数量的不重复随机数

十行代码一重循环实现C++在指定范围内生成指定数量的不重复随机数

作者:互联网

在[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++;
        }
    }
}


标签:头文件,int,srand,指定,C++,十行,种子,随机数,time
来源: https://blog.csdn.net/qq_45654306/article/details/106679070