想知道rand()内部结构!
rand()函数,它产生的一个随机数,而这个随机数就是产生下一个随机数的种子,是这样的吗?希望同仁提供一下rand()函数的内部结构!
----------------解决方案--------------------------------------------------------
函数名: rand
功 能: 随机数发生器
用 法: void rand(void);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int i;
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
----------------解决方案--------------------------------------------------------
不同版本的库的实现是不一样的,TC的random实现是通过随技术表的
----------------解决方案--------------------------------------------------------
这是数论里面的问题:你看一下同余理论就明白了,用同余的方法来产生随机数,
也称为伪随机数:
M(N)=C*M(N-1) MOD (R)
还有其它的同余式
M(N)=C1*M(N-1)+C2*M(N-2) MOD (R)
..................
----------------解决方案--------------------------------------------------------