版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(573)
>
虫友互识
(23)
>
基金申请
(21)
>
文献求助
(14)
>
导师招生
(11)
>
硕博家园
(9)
>
考博
(7)
>
教师之家
(6)
>
论文投稿
(6)
>
博后之家
(3)
>
公派出国
(3)
>
考研
(3)
>
休闲灌水
(3)
>
留学生活
(2)
>
论文道贺祈福
(2)
>
找工作
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
C/C++
»
【求助】用rand命令怎么产生各占一半的两个随机点
5
1/1
返回列表
查看: 1281 | 回复: 8
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
shugq_2009
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 17.2
帖子: 66
在线: 54.5小时
虫号: 822406
[交流]
【求助】用rand命令怎么产生各占一半的两个随机点
我现在想用rand命令产生各占一半的1和2两个随机数,我不知道用什么命令实现各占一半,望赐教,谢谢。下面是我产生1和2两个随机数的程序
srand((int)time(0));
for(int i=0;i<10;i++)
{
printf("%d\n",1+rand()%2);
}
return(0);
}
回复此楼
» 猜你喜欢
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有9人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有11人回复
表哥与省会女结婚,父母去帮带孩子被省会女气回家生重病了
已经有7人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有8人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有9人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有10人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有6人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
fortran中到底该如何比较两个实数是否相等
已经有8人回复
请问这两种物质是什么?
已经有5人回复
专家帮看看JAPS里要求指定两个preferred reviewer怎么搞啊
已经有9人回复
如何让一个两次让我去面试由于特殊情况我都没去的公司再给我一次面试机会?
已经有7人回复
磷酸盐和氯化钙配制培养基产生沉淀是怎么回事啊
已经有12人回复
两难的选择!博后或工作,请各位支招!
已经有9人回复
投稿遇到问题,不小心提交了两遍,该怎么办呢?
已经有11人回复
液相一个峰,正相板点板两个峰,怎么回事?
已经有20人回复
请问给老外发信yahoo邮箱怎么样
已经有9人回复
使用counterpoise命令,出现警告
已经有7人回复
大修之后还有两个审稿人认为语言不行,该怎么办呢
已经有13人回复
随便一种有机物怎么确认啊?
已经有13人回复
【建议】两人一个国内,一个国外,将来在一块的几率大吗?
已经有62人回复
【求助】恒电位电解电流很小怎么办啊
已经有14人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
医学超声影像负责人招聘-中国科学院赣江创新研究院
+
1
/985
湖南大学材料院陶益杰老师招收2026年联合培养硕士学生一名
+
1
/182
西南科技大学曹克课题组招收2026级申请考核制有机化学博士研究生
+
1
/176
华南师范大学(211)- 光电科学与工程学院 - 申请审核制(2026年4-5月份面试考核)
+
2
/114
香港科技大学(广州)黄加强课题组智能电池方向博士招聘
+
1
/79
哈工大医康学院材料模拟计算方向人才招聘
+
1
/79
欢迎报考南京农业大学植物环境适应课题组课题组2026级博士生。
+
1
/76
感谢小木虫的缘分
+
1
/46
澳大利亚麦考瑞大学(Macquarie University)国际博士硕士全额奖学金-计算机-26年中开学
+
1
/40
南方科技大学物理系夏秀杨课题组招收博士生/博士后 计算与理论软物质/生物物理方向
+
1
/30
上海交通大学大气环境科学课题组招收2026年入学博士生
+
1
/28
湖南大学袁达飞课题组招收第二批2026年9月入学的博士研究生一名
+
1
/27
上海交大药学院侯四化课题组招收2名2026年秋季入学申请-考核制博士生
+
1
/27
北京信息科技大学仪器科学与光电工程学院【周哲海】教授团队招收博士研究生
+
1
/7
澳科大招收2026年秋季药剂学/生物材料方向全奖博士研究生(春节不打烊)
+
1
/5
太原理工大学集成电路学院院长团队招收2026年博士研究生
+
1
/3
2026申博
+
1
/2
2026年巴塞罗那大学Prof.Bromley 纳米结构材料计算课题组 (NNM) 招收CSC-PhD学生
+
1
/2
澳科大招收2026年秋季入学生物材料方向全奖博士研究生(3月5日截止)
+
1
/1
美国密苏里大学“柔性电子”课题组诚聘博士研究生和博士后
+
1
/1
1楼
2010-12-08 13:52:08
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
帖子: 699
在线: 102.6小时
虫号: 913482
CODE:
#include
#include
#include
int getrand(int* a, int n)
{
int b[50];
int c = 0;
int idx = 0;
memset(b, 0, 50*sizeof(int));
srand(time(0));
for(int i = 0; i < 50; i++)
{
b[i]=(int)(rand() % 2) + 1;
}
for(int i = 0; i < 50 - n; i++)
{
c = 0;
for(int j = i; j < i + n; j++)
{
if(b[j] == 1)
c++;
}
if(c == 5)
{
idx = i;
break;
}
}
memcpy(a, b+idx, n*sizeof(int));
return idx;
}
对代码进行1千万次调用,耗时30秒,idx的期望大约在4~8这个范围。
赞
一下
回复此楼
高级回复
8楼
2010-12-14 12:57:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 9 个回答
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
帖子: 699
在线: 102.6小时
虫号: 913482
★ ★
余泽成(金币+2):辛苦辛苦! 2010-12-12 20:59:52
恩,烧死100个脑细胞后,想到一个方法,不过效率不高。
因为rand近似是均匀分布的, 所以你如果需要10个1、2的均匀分布且各占一半的话,不如产生20个,然后从左到右数十个数,计算一下是不是各5个,如果不是,就换下一组。如果满足就返回。如果都不满足,就重新再生成一次。
赞
一下
(1人)
回复此楼
2楼
2010-12-09 18:50:09
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
tjyl
金虫
(正式写手)
程序强帖: 2
应助: 0
(幼儿园)
金币: 3218.1
帖子: 576
在线: 156.6小时
虫号: 765184
★ ★
余泽成(金币+2):谢谢应助! 2010-12-12 21:01:42
我觉得直接LZ那样就行了,从概率上说1+rand()%2的可能只有1,2,其概率都是0.5.
各占一半是从概率上说的,并不是说100个数里面两个数一定得各50个。个人理解,呵呵。
int rand_two(void)
{
return 1+rand()%2;
}
引用回帖:
Originally posted by
holmescn
at 2010-12-09 18:50:09:
恩,烧死100个脑细胞后,想到一个方法,不过效率不高。
因为rand近似是均匀分布的, 所以你如果需要10个1、2的均匀分布且各占一半的话,不如产生20个,然后从左到右数十个数,计算一下是不是各5个,如果不是,就 ...
赞
一下
(1人)
回复此楼
3楼
2010-12-11 23:24:33
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
帖子: 699
在线: 102.6小时
虫号: 913482
★
余泽成(金币+1):鼓励讨论! 2010-12-12 21:02:00
引用回帖:
Originally posted by
tjyl
at 2010-12-11 23:24:33:
我觉得直接LZ那样就行了,从概率上说1+rand()%2的可能只有1,2,其概率都是0.5.
各占一半是从概率上说的,并不是说100个数里面两个数一定得各50个。个人理解,呵呵。
int rand_two(void)
{
return 1+r ...
我觉得是你没理解LZ的意思(要不就是我没理解对)
LZ想要一组数, 1 和2在里面均匀分布,且个数正好是各占一半。
虽然LZ的算法在理论上成立,但不能满足各占一半这个要求。
所以我认为我的算法,虽然效率不高,但能够满足这两点要求。
赞
一下
(1人)
回复此楼
4楼
2010-12-12 12:30:04
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 9 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定