php 随机生成浮点数,生成浮点数的随机函数

今天在群里和一位朋友讨论了浮点数的随机函数实现.

以下为代码和思路.

//为了扣题和便于理解,我没用一些C++高阶的技巧,完全按照题目一步一步走,所以显得麻烦点

#include

#include

#include

#define MAX_RANDOM 1000    //这个是产生随机数的最大值,但是取浮点数,所以要除去的

#define NUM 2500

double random(double a,double b)         //这个是产生随机数函数,由于库函数功能有限,所以要自己封装一下

{

return (rand()%(int)((b-a)*MAX_RANDOM))/(double)MAX_RANDOM+a;

}

void main()

{

double Dran[NUM + (NUM-1)*4];

double ran[(NUM-1)*4];

double a,b;

int k=0;

srand( (unsigned)time( NULL ) );//这个是设定随机数的种子数,由于种子数相同产生的随机数相同,所以取时间做种子

cout<

for(int i =0;i

{

Dran[i] = random(10,20);

cout<

}

/*

cout<

//Dran里面是装的亲代和后代一起的,ran里面只是装的后代

for(i=0;i

{

a = Dran[i];

b = Dran[i+5];

for(int j=1;j<=4;j++)

{

Dran[i+j] = random(a,b);

ran[k] = Dran[i+j];

cout<

k++;

}

}

*/

}

(    rand()%(int) (  (b-a)*MAX_RANDOM)  ) /(double)MAX_RANDOM  +a 这个产生浮点数.

思路来源:

想得到0-num之间随机数就是rand()%num定性思维.如果要得浮点数,就只有扩大再缩小,也是定性思维,两个结合.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值