'난수생성기'에 해당되는 글 1건

  1. 2010.06.14 [C] Pseudorandom number generator
대충 인터넷 뒤져가면서 만든 녀석. 그럭저럭 잘 작동하는듯...

#include "time.h"

unsigned long random(unsigned long i)//do not use 0 as seed
{
if(i && time(0)%2)
return (unsigned long)(i>>1)|(((i^(i>>10)^(i>>30)^(i>>31))&1)<<31);
else return (unsigned long)(i*1103515245+12345)%0x100000000;
}

주의할 점은 첫 seed value로 0을 넣지는 말라는 것. 위쪽 알고리즘(LCG)은 문제없이 작동하더라도 아래쪽 알고리즘(LFSR)은 0이 들어가면 0만 나온다. -_-;;

seed value로 0이 들어가도 되도록 수정. 대신에 순서가 바뀌었네...

Mersenne  twister는 써보려고 했는데 너무 길어서 포기 -_-;;;

'Programme' 카테고리의 다른 글

Reversible Computation  (0) 2013.10.29
[C] Entering strings including <space>  (0) 2010.09.11
[C] Conway's Game of Life  (4) 2010.06.25
[C] Pseudorandom number generator  (0) 2010.06.14
C언어 달팽이(나선)배열  (7) 2010.04.26

댓글을 달아 주세요

1 

글 보관함

카운터

Total : 650,569 / Today : 16 / Yesterday : 85
get rsstistory!