Programming/Algorithm
빠르게 랜덤변수 발생시키기
decdream
2016. 2. 17. 08:54
int g_seed;
int fastrand() {
g_seed = (214013 * g_seed + 2531011);
return (g_seed >> 16) & 0x7FFF;
}
기존에는 아래와 같은 방식으로 랜덤 변수를 생성하였었다.
time_t seconds;
time(&seconds);
srand((unsigned int)seconds);
//srand((unsigned)time(0));
v0 = rand() % 10;
하지만 이 방식은 초당으로 seed 가 변해서 그런지, 랜덤숫자가 빠르게 변하지 않는 단점이 있다.
이 대신에 fastrand 를 사용하면, 빠른 속도로 랜덤한 변수를 얻을 수 있다.