24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2583  |  回复: 2

ahuang1985

铁虫 (小有名气)

[求助] 求大家帮忙看个程序,C语言产生大于Rand_max(32767)个数的不重复的随机数

如题,下附我的程序;
但是运行i=32767后就停止了。 哪个高手帮帮忙哈, 多谢了!

#include
#include
#include
#include


int main(void)
{
    double Ci;
    int n,t=0,i=0,j=0,N;
    int b[100000];
    srand((unsigned)time(NULL));
    Ci=0.01;N=4025496;

    b[0]= (int)((double)(rand())/((double)(RAND_MAX)+1.0)*N);
        for (i=1;i<=(int)(N*Ci);i++)
        {
    Lab:b =(int)((double)(rand())/((double)(RAND_MAX)+1.0)*N);
for (j=0;j == b[j]) goto Lab;}

               printf("i=%d,%d\n",i,b);
         }
   printf("end";
        return 0;

}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

感谢参与,应助指数 +1
c的rand用的lcg,rand_max就是伪随机数序列的周期.所以要大于rand_max只有换个更长周期的随机数发生器.
2楼2012-04-25 13:12:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

比如这个
CODE:
uint32_t xor128(void) {
  static uint32_t x = 123456789;
  static uint32_t y = 362436069;
  static uint32_t z = 521288629;
  static uint32_t w = 88675123;
  uint32_t t;

  t = x ^ (x << 11);
  x = y; y = z; z = w;
  return w = w ^ (w >> 19) ^ (t ^ (t >> 8));
}

3楼2012-04-25 13:16:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ahuang1985 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研求调剂 +3 子木呐 2026-04-12 3/150 2026-04-12 20:06 by sakura6524
[考研] 211本科材料化工求调剂 +15 YHLAH 2026-04-11 18/900 2026-04-12 19:09 by YHLAH
[考研] 一志愿2110,化学学硕310分,本科重点双非求调剂 +19 努力奋斗112 2026-04-08 19/950 2026-04-12 17:01 by lhj2009
[考研] 材料考研调剂 +26 云木达达 2026-04-11 28/1400 2026-04-12 14:29 by .卷心菜..
[考研] 本科南方医科大学 一志愿985 药学学硕284分 求调剂 +5 弱水听文 2026-04-09 5/250 2026-04-12 13:16 by shengxi123
[考研] 316求调剂 +5 想读研究生( ?∵ 2026-04-07 5/250 2026-04-12 00:43 by 蓝云思雨
[硕博家园] 有没有学校材料专业收跨调(一志愿085410) +6 momo(上岸版) 2026-04-06 9/450 2026-04-11 22:38 by wj165256
[考研] 296求调剂 +8 汪!?! 2026-04-09 8/400 2026-04-11 21:02 by 逆水乘风
[考研] 293求调剂 +8 勇远库爱314 2026-04-06 8/400 2026-04-11 20:25 by 蓝云思雨
[考研] 085410 273分调剂 +4 X1999 2026-04-09 4/200 2026-04-11 13:05 by pies112
[考研] 085500求调剂材料 +10 易11122 2026-04-09 10/500 2026-04-11 10:39 by maddjdld
[考研] 材料与化工调剂 10+11 下一站上岸@ 2026-04-10 36/1800 2026-04-11 10:26 by 89436494
[考研] 289 分105500药学专硕求调剂(找B区学校) +6 白云123456789 2026-04-09 8/400 2026-04-10 21:13 by zhouxiaoyu
[考研] 一志愿矿大,材料工程专硕314分,0856可调都可以 +15 无懈可击的巨人 2026-04-09 15/750 2026-04-10 18:10 by hmn_wj
[考研] 293调剂 +25 yj1221 2026-04-08 26/1300 2026-04-10 15:02 by 柴小白
[考研] 一志愿211 0703化学 346分求调剂 +22 土豆er? 2026-04-09 23/1150 2026-04-10 10:58 by 高维春
[考研] 296求调剂 +3 汪!?! 2026-04-08 3/150 2026-04-08 22:00 by zhouyuwinner
[考研] 化工学硕 285求调剂 +26 Wisjxn 2026-04-07 26/1300 2026-04-08 14:42 by screening
[考研] 338求调剂 +5 小猪红色 678 2026-04-06 6/300 2026-04-07 21:18 by 乔哒哒哒
[考研] 325 调剂 +6 QQ小虾 2026-04-07 6/300 2026-04-07 15:17 by Ccclqqq
信息提示
请填处理意见