随机函数原理

  /**  
    *   目前计算机上最常用的随机数产生方法是;线性同余法。  
    *   即  
    *   f(x+1)   =   (   a*f(x)   +   b   )   mod   m;  
    *   其中m一般去2的32次方减一,因为这是一个质数。  
    *   显然该式将产生0到m的伪随机数,然后重复。  
  */  
static   unsigned   long   next   =   1;  

  int   Rand(void){  
  next   =   next   *   1103515245   +   12345;  
  return   (unsigned   int   )(next   /65536)   %   32768;  
  }   

  void   Srand(unsigned   int   seed){  
  next   =   seed;  
  }  

 

这是c语言中rand函数和srand函数的原型。从这里我们就知道了,随即数是怎么产生的了。如果不加种子的话,就会总和第一次一样。
 

你可能感兴趣的:(C/C++)