首页 > 其他 > 详细

随机数产生方法

时间:2015-12-04 12:48:25      阅读:376      评论:0      收藏:0      [点我收藏+]

随机数产生方法

1、调用系统的随机种子。

 1 /*
 2  * 调用系统的时间随机种子数,产生随机数(0-32767)
 3  * srand(time(0))为调用系统伪随机种子函数,用来初始化随机数发生器的随机种子
 4  */
 5 void srandRandom(){
 6     int i;
 7     srand((int)time(0));
 8     for(i=0;i<10;i++){
 9             printf("%.3f ",(rand()/32767.0));
10         }
11 }

 

2、自定义产生随机数:

 1 /*
 2  * @author
 3  * 自定义的随机数生成函数
 4  * 利用的原理就是 m/base,其中m=(0,base),这里是实数除法
 5  * 其中temp2,temp3步骤求temp1相对base的余数
 6  * 这里定义一个r的地址变量,旨在每次利用前一个随机数的随机“种子”
 7  * a,b的值可以自己自定义,base的值最好是2的整数倍
 8  *
 9  */
10 double userDefinedRandom(double * r) {
11     double a, b, base, p;
12     double temp1, temp2, temp3;
13     a = 17.0, b = 139.0, base = 400.0;
14     temp1 = a * (*r) + b;
15     temp2 = (int) (temp1 / base);
16     temp3 = temp1 - base * temp2;
17     *r = temp3;
18     p = *r / base;
19     return p;
20 }

 

随机数产生方法

原文:http://www.cnblogs.com/hoojjack/p/5018771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!