24小时热门版块排行榜    

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

yy5393

金虫 (小有名气)

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

我想在1-2500之间生成200个没有重复的随机数,我编了好长时间都不对,哪位虫友知道指点一下或者有类似的程序分享一下,真是不胜感激啊!
回复此楼

» 猜你喜欢

伟大都是熬出来的!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

★ ★
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来仿真编程版 4-13 22:25
这是从0到100之间生成10个间隔大于5的随机数
>>  M=100

M =

   100

>> n=10

n =

    10

>> d=5

d =

     5

>> t=d*(n+1)/(2*(M-d*n+d))

t =

    0.5000

>> a=rand(1,11)'

a =

    0.9501
    0.2311
    0.6068
    0.4860
    0.8913
    0.7621
    0.4565
    0.0185
    0.8214
    0.4447
    0.6154

>> a(2:end-1)=a(2:end-1)+0.5

a =

    0.9501
    0.7311
    1.1068
    0.9860
    1.3913
    1.2621
    0.9565
    0.5185
    1.3214
    0.9447
    0.6154

>>  a=cumsum(a)

a =

    0.9501
    1.6813
    2.7881
    3.7741
    5.1654
    6.4275
    7.3840
    7.9025
    9.2239
   10.1686
   10.7840

>>  a=a.*100./a(end)

a =

    8.8105
   15.5904
   25.8541
   34.9971
   47.8987
   59.6021
   68.4714
   73.2795
   85.5329
   94.2931
  100.0000

>> a=round(a)

a =

     9
    16
    26
    35
    48
    60
    68
    73
    86
    94
   100

>> a=a(1:end-1)

a =

     9
    16
    26
    35
    48
    60
    68
    73
    86
    94

>>

[ Last edited by fspdlh on 2009-4-24 at 09:20 ]
8楼2009-04-13 00:23:09
已阅   回复此楼   关注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=小木虫印&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的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见