关闭

生成区间[a,b)中的随机数

424人阅读 评论(0) 收藏 举报

             生成区间[a,b)中的随机数

             

code:   

  // 生成[0,b-a)的随机值

double random(double a, double b)

{

    assert(a < b);

    double res;

    do {

         // 在[0,b-a)取随机值

         res = ( (double)rand() / (double)(RAND_MAX + 1.0) ) * (b - a);

           // 变换到[a,b)

         res += a;

    } while ( ! (a <= res && res < b) ); // 

    assert( a <= res && res < b );

    return res;

}

 

 

 

 

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:498531次
    • 积分:8902
    • 等级:
    • 排名:第2121名
    • 原创:298篇
    • 转载:130篇
    • 译文:0篇
    • 评论:98条
    最新评论