社区
C++ 语言
帖子详情
怎么给出不重复的随机值, 在线等...
hkx88
2004-11-05 03:58:21
比如随机出(1~100)中的随机值, 不重复, 还有怎么判断出已经从1~100随机一遍, 从而进入下一次随机.希望给我代码, 问题解决马上给分, 万分感谢..
...全文
207
17
打赏
收藏
怎么给出不重复的随机值, 在线等...
比如随机出(1~100)中的随机值, 不重复, 还有怎么判断出已经从1~100随机一遍, 从而进入下一次随机.希望给我代码, 问题解决马上给分, 万分感谢..
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hkx88
2004-11-05
打赏
举报
回复
?
还有更好的办法吗?
yingpf
2004-11-05
打赏
举报
回复
哪有这么复杂啊,用time()就行
hkx88
2004-11-05
打赏
举报
回复
谢了, 各位热心的朋友~~
hkx88
2004-11-05
打赏
举报
回复
打勾然后给分就是了吗?
xuzheng318
2004-11-05
打赏
举报
回复
嘿嘿!
oo
2004-11-05
打赏
举报
回复
在帖子标题右边有个‘管理’,点进去就可以了
hkx88
2004-11-05
打赏
举报
回复
弱弱的问, 怎么给分, 怎么结贴??
languagec
2004-11-05
打赏
举报
回复
哇卡 写个程序的时间就被人先顶了 真是老了!
languagec
2004-11-05
打赏
举报
回复
#include <iostream>
#include <vector>
#include <time.h>
#include <algorithm>
using namespace std;
vector<int> v(100);
int Get_num()
{
int r=rand();
int n=v[r%v.size()];
v.erase(v.begin()+r%v.size());
return n;
}
void fun(int &i)
{
static s=0;
i=s++;
}
void main()
{
srand(time(0));
for_each(v.begin(),v.end(),fun);
for(int i=0;i<100;i++)
cout<<Get_num()<<'\t';
}
oo
2004-11-05
打赏
举报
回复
从别人的帖子里翻出来的:
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
int main()
{
std::vector<int> ivec(0, 100);
for ( int i=0; i<100; ++i )
ivec.push_back(i+1);
std::copy( ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, " ") );
std::cout << "\n\n";
std::vector<int>::iterator it = ivec.begin();
std::vector<int>::iterator it_end = ivec.end();
std::random_shuffle( ivec.begin(), ivec.end() );
std::copy( it, it_end, std::ostream_iterator<int>(std::cout, " ") );
return 0;
}
原理:一个100元素的vector,先放1-100,然后把vector里的内容random_shuffle一把,就是次序打乱一下。这就是你需要的100个元素,然后从0开始读到99,读完后再打乱一下这个vector就可以了。
寻开心
2004-11-05
打赏
举报
回复
楼主把随机数的概念搞错了吧
随机数不意味着没有重复
随机数是统计学上的东西,是做大量的试验,看平均规律的
你的要求的和随机数关系不见得很大,
还莫过于把1到100个元素顺序排列,然后随机交换内部两两的位置,经过多次交换操作后,整个顺序就打乱了。
你依次取就可以了。取完100个,再继续打乱顺序再次选择吧。
languagec
2004-11-05
打赏
举报
回复
初始化一个数组,从该数组中随机取数,取过的就仍掉,时间复杂度为O(1)
hkx88
2004-11-05
打赏
举报
回复
还是不行吧, 还是存在这个问题吧??
F4427
2004-11-05
打赏
举报
回复
随机的你可以算一下它的概率就知了
F4427
2004-11-05
打赏
举报
回复
用随机函数输出一个数字,然后用循环看是否已输出,若是已输出则去掉,再次随机,用嵌套就可以了
hkx88
2004-11-05
打赏
举报
回复
这样有问题吧?
如果到最后剩个8或其它某个数值没随机到, 那要随机多久才能随机到这个数值啊?
xuzheng318
2004-11-05
打赏
举报
回复
int i;
int j;
int t;
int a[10];
srand((unsigned)time(NULL));
for(i = 0; i < 10;)
{
t = rand() % 100;
for(j = 0; j < i; j++)
{
if(IsInArray(t))
continue;
else
{
a[i++] = t;
}
}
}
BOOL IsInArray(int t)
{
int i;
for(i = 0; i < 10; i++)
if(a[i] == t)
return TRUE;
return FALSE;
}
Python不
重复
批量
随机
抽样 random.sample() 和 numpy.random.choice() 的优缺点
python中random.sample()方法可以
随机
地从指定列表中提取出N个不同的元素,列表的维数没有限制。 有文章指出:在实践中发现,当N的
值
比较大的时候,该方法执行速度很慢。可以用numpy random模块中的choice方法来...
《Python实战》1——从列表中
随机
选取指定个数的不
重复
元素
从列表、字符串、元组等集合中,
随机
选取指定个数的不
重复
元素。 相关问题描述:
随机
选取指定多个元素、在指定范围内
随机
生成指定多个不
重复
数字、
随机
选取一个元素、
随机
选取
随机
个不
重复
元素。 关键词: ...
excel如何
随机
生成不
重复
的数字
今天跟大家分享一下excel怎么
随机
生成不
重复
的数字 1.打开Excel文件 2.选中要录入
随机
数据的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说...
Math.random
重复
随机
,不
重复
随机
package random; ... //
随机
数字最大
值
public final static int maxValue = 20; //
随机
数字最小
值
public final static int minValue = 1; // 需要几位数字 public final static int resul
python小课第18关之random如何
随机
生成不
重复
的
值
reason = int(input('你不知道吃什么的原因是:1.完全不知道吃什么;2.在几家店之间徘徊(请输入1或2):')) if reason == 1: choose(list_food) elif reason == 2: add = True while add: choice = input('请...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章