产生n个小于等于m的不重复随机整数
来源:互联网 发布:语音信箱软件 编辑:程序博客网 时间:2024/05/18 06:19
本题的关键在于随机数的不重复.
STL中的set , 往里面插入重复数时,会插入失败, 本例就是利用了set 自带的这个插入特性, 保证随机数的不重复。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<set>
#include<iostream>
using namespace std;
int main(void)
{
int m, n;
cout << "please input m and n, and make sure m >n " << endl;
cin >> m;
cin >> n;
set <int> s;
srand(time(NULL));
for (int i = 0; i < n; i++)
{
int random = rand() % m + 1;
if (s.insert(random).second)
cout << "insert ok" << endl;
else
{
while (1)
{
random = rand() % m + 1;
if (s.insert(random).second)
break;
}
}
cout << random << endl;
}
system("pause");
return 0;
}
阅读全文
0 0
- 产生n个小于等于m的不重复随机整数
- n个数中随机产生不重复的m个数
- 产生[n,m]之间的随机整数
- 产生K个小于n的非负整数,并且顺序也是随机打乱的
- 随机生成前N个不重复的整数
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 一种算法思想:关于产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 算法:如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- 如何高效产生m个n范围内的不重复随机数(m<=n)
- rand-取小于一个定值M以内,N个不重复的数(M>=N)
- POJ 2386
- 题
- (四)malloc动态内存分配以及跨函数使用内存
- 排序算法简介
- bin/ld.bfd: warning: creating a DT_TEXTREL in a shared object解决办法
- 产生n个小于等于m的不重复随机整数
- The left-hand side of an assignment must be a variable
- ReLu(Rectified Linear Units)激活函数
- (五)线性类型----数组结构类型及数据操作
- 【缓存】-缓存击穿、缓存并发和缓存失效
- android OrmLite 入门
- mybatis开发之mapper接口开发(无需实现类)
- Sublime Text 3快捷键
- CheckBox