24小时热门版块排行榜    

查看: 1954  |  回复: 14
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yy5393

金虫 (小有名气)

[交流] 【求助】如何生成没有重复的随机数

我想在1-2500之间生成200个没有重复的随机数,我编了好长时间都不对,哪位虫友知道指点一下或者有类似的程序分享一下,真是不胜感激啊!
回复此楼
伟大都是熬出来的!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duyingchun

银虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
#include
#include

char RandomData[2500];
int   ActureData[200];

void InitData()
{
memset(RandomData,0,2500);
}

void CreatData()
{
int Num=0;
int Data;
while(Num<200)
     {
      Data=random(2500);
      if(RandomData[Data])   continue;
      RandomData[Data]=1;
      ActureData[Num++]=Data;
     }
}

void main()
{
randomize();
InitData();
CreateData();
}

200个随机数字存在ActureData数组里,没有排过序,如果需要排序的话,修改下CreateData函数如下:
void CreateData()
{
int Num=0,index=0;
int Data;
while(Num<200)
     {
      Data=random(2500);
      if(RandomData[Data])   continue;
      RandomData[Data]=1;
      Num++;
     }

Num=0;

while(index<200)
     {
      if(RandomData[Num])  ActureData[index++]=Num;
      Num++;
     }
}

[ Last edited by duyingchun on 2009-6-1 at 14:14 ]
10楼2009-06-01 14:03:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

woshilsh

荣誉版主 (职业作家)

优秀版主


sunxiao(金币+1,VIP+0):不要不行,呵呵 4-2 23:21
不要BB,呵呵,兄弟在Fortran下生成随机数?

想不重复,你可以找出重复的,剔除,然后把不重复的加进去,咋样?

方法笨了点,但有效哇!
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&amp;amp;amp;say=各位版主辛苦了![/img][/url][/center]
2楼2009-04-02 22:17:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

windhair

铜虫 (小有名气)

★ ★ ★ ★
sunxiao(金币+3,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-2 23:21
yy5393(金币+1,VIP+0):谢谢 4-3 16:07
要生成不同随机数,就要改变seed, 而要seed 不同,最简单的方法就是用系统时间做seed
F90 里有现在生成seed的函数吧,查查
3楼2009-04-02 22:36:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lynarcissusly

金虫 (正式写手)


yy5393(金币+1,VIP+0):我试试 4-3 16:07
程序里不是有自带的随机数产生器吗?ran(iseed). iseed是整数,这样产生的随机数是0-1之间的,你自己把它乘以2500就可以了。
4楼2009-04-03 14:10:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +25 医学老男孩 2026-08-13 52/2600 2026-08-15 11:49 by 大快人心啦
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 HFw0lei2R37i 2026-08-14 9/450 2026-08-15 11:33 by KxMI1BYBxWX1
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +6 Ldrop2023 2026-08-13 6/300 2026-08-15 10:09 by tuanggou
[基金申请] filecode +7 cratir 2026-08-14 11/550 2026-08-15 06:19 by 学员8dgXkO
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 04:45 by 4wMiSEwB6436
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 7lpolszZVXgi 2026-08-14 5/250 2026-08-15 04:41 by 4wMiSEwB6436
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 4/200 2026-08-15 04:17 by 4wMiSEwB6436
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +11 Tide man 2026-08-10 12/600 2026-08-15 02:12 by home3163
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 7/350 2026-08-15 00:40 by 4wMiSEwB6436
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
信息提示
请填处理意见