📄 rand.c
字号:
#define _RESEARCH_SOURCE#include <stdlib.h>#include <libv.h>/* random number generator from cacm 31 10, oct 88 for 32 bit integers (called long here)*/#ifdef MAIN#define A 16807#define M 2147483647#define Q 127773#define R 2836#else#define A 48271#define M 2147483647#define Q 44488#define R 3399#endifstatic long seed = 1;voidsrand(unsigned int newseed){ seed = newseed;}longlrand(void){ long lo, hi, test; hi = seed/Q; lo = seed%Q; test = A*lo - R*hi; if(test > 0) seed = test; else seed = test+M; return(seed);}intrand(void){ return lrand()%(RAND_MAX+1);}#ifdef MAINmain(){ int i; for(i = 0; i < 10000; i++) rand(); if(seed == 1043618065) printf(" rand: pass\n"); else printf("*****rand: fail; seed=%u, should be 1043618065\n", seed); exit(0);}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -