📄 random.c
字号:
/* linear congruential generator. Generator x[n+1] = a * x[n] mod m */#define RAND_INT(l,h) (((int)(random() * ((double)(h)-(l)+1))) + (l))int random (void); /* return the next random number x: 0 <= x < 1*/void rand_seed (unsigned int); /* seed the generator */static unsigned int SEED = 93186752;int random () {/* The following parameters are recommended settings based on research uncomment the one you want. */ static unsigned int a = 1588635695, m = 4294967291U, q = 2, r = 1117695901;/* static unsigned int a = 1223106847, m = 4294967291U, q = 3, r = 625646750;*//* static unsigned int a = 279470273, m = 4294967291U, q = 15, r = 102913196;*//* static unsigned int a = 1583458089, m = 2147483647, q = 1, r = 564025558; *//* static unsigned int a = 784588716, m = 2147483647, q = 2, r = 578306215; *//* static unsigned int a = 16807, m = 2147483647, q = 127773, r = 2836; *//* static unsigned int a = 950706376, m = 2147483647, q = 2, r = 246070895; */ SEED = a*(SEED % q) - r*(SEED / q); return SEED; }void rand_seed (unsigned int init) {if (init != 0) SEED = init;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -