| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖
标题:关于随机函数
只看楼主 加入收藏
鹿言弓
Rank: 1
等 级:新手上路
帖 子:26
专家分:1
注 册:2012-11-14
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:2 
关于随机函数
随机函数在网上看了很多,简单的会,复杂的就不懂了,比如下面这个,求大家仔细给我讲讲嘛。
int random(int n)
{   
     int nn;
     srand((unsigned)time(NULL)+rand());
            ————为何还要在srand中加一个rand(),不是种子生成就是  srand((unsigned)time(NULL)
     for(int i=(int)rand()%100/10+10;i>=0;i--)
            ————1.这个的int i=(int)rand()%100/10+10,完全不懂,按公式来讲,也应是rand()*(b-a)/RAND_MAX+a啥
                    2.其实那个rand()前有个int,我也表示费解,这到底是神马情况。
          nn=rand()%n;
           ————这个简直是让我更傻眼了,对nn循环,赋值了这么多次,结果就返回了一个nn.那这个循环到底有什么意义!
     return nn;
}

                                    不知道是不是我太死板了,我简直是,哎。。。帮帮我吧!
搜索更多相关主题的帖子: 神马 
2012-11-20 14:01
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:10 
srand((unsigned)time(NULL)+rand());
   ————为何还要在srand中加一个rand(),不是种子生成就是  srand((unsigned)time(NULL)
  随然设置当前随机种子是 srand((unsigned)time(NULL) 但还是可以有存在随机种子相同情况,通过加个随机数使种子有更小的可能一样,

for(int i=(int)rand()%100/10+10;i>=0;i--)
     ————1.这个的int i=(int)rand()%100/10+10,完全不懂,按公式来讲,也应是rand()*(b-a)/RAND_MAX+a啥
             2.其实那个rand()前有个int,我也表示费解,这到底是神马情况
  (int)是用来将产生的随机数转换为int,%100,就是产生的随机数除于100取余数,/10,这是整除,求十位上的数(因都是小于100的数),+10 使结果为9--20之间的数

  nn=rand()%n;  这个是用来产生0--n之间的数,包括0,随机循环次数还不是为了产生的随机数随机性更大,
 
2012-11-20 17:23
鹿言弓
Rank: 1
等 级:新手上路
帖 子:26
专家分:1
注 册:2012-11-14
收藏
得分:0 
嗯。。。不好意思,这个rand()%100/10+10的范围取定还是没懂,能帮我再讲讲吗?                       

                              还是谢谢你,你讲的很详细。
2012-11-20 21:08
快速回复:关于随机函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023274 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved