首页 > 代码库 > 伪随机数生成器

伪随机数生成器

主要分为两部分,生成器rand(),种子设定srand()。

 

#include<stdlib.h>int rand(void);void srand(unsigned int seed);


使用同一种子seed设置会造成产生同一个伪随机序列,rand产生随机数字是在0-RAND_MAX之间的。一般编译器默认RAND_MAX最小值是32767。但是我使用gcc的stdlib.h库中的RAND_MAX是

#define    RAND_MAX    2147483647

示例:

 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4  5 int main(void) 6 { 7     long time1; 8     int i,time2; 9 10     time1=time(NULL);11     printf("time 1=%ld\n",time1);12 13     time2=(unsigned )time1/10;14     printf("time 2=%ld\n",time2);15 16     //设置起点17     srand(time2);18 19     for(i=0;i<10;++i)20     {21         printf("%d\n",rand());22     }23     return 0;24 }

 

伪随机数生成器