代码如下:
#include<iostream>
#include<cstdio>
#include<time.h>
#include<cstdlib>
using namespace std;
int main(){
int n,m,remaining;
srand(time(NULL));
cout<<"请输入选择的范围以及需要从中挑选多少个数:"<<endl;
cin>>n>>m;
remaining = n;
for(int i=0; i<n; i++){
if(rand()%remaining < m){
cout<<i<<" ";
m--;
}
remaining--;
}
}
通过校验概率的方法来筛取随机数,同时还能保证随机数的有序性,在范围不大的情况下此段代码相当效率。