如何产生大随机数(0到100万之间)?

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:17:29
请问可以通过C++的rand()函数产生0到100 0000 之间的随机数吗?
如何实现?
谢谢!

随机函数你会用,那我简单说一下:
rand()函数取值在0~32767之间
用a=rand()%1001,取值就在0~1000之间
再b=rand()%1001,取值就在0~1000之间
两个数相乘,就是0到100 0000 之间的随机数
或者是
用a=rand()%1000,取值就在0~999之间a=a*1000
再b=rand()%1001,取值就在0~1000之间

再用a=a+b,a就是0到100 0000 之间的随机数

产生 0 到 M 之间的随机数:

#include <stdio.h>
#include <stdlib.h>

void main()
{
long int i,y;
double x, r, M = 1000000.0;

srand((unsigned)time(NULL));

for (i=0;i<10;i++){
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
x = (r * M);
y = (long int) x;
printf("%lf\n",x);
printf("%d\n",y);
};
}

MS VC++ 编译通过