지식in에서 찾은 것, 작성자가 참고문헌을 잊었다더군요.
고작 rand()를 표현한는데 10줄이면 된다니... orz 역시 알고나면 쉬운것인가.
#include <stdio.h>
#define A 109
#define C 1021
#define M 32768
unsigned rndnum = 13; // 초기값
unsigned irnd(void);
int main(void)
{
int j;
for (j = 0; j < 100; j++)
{
printf("%8d", irnd() % 101);
if (j % 10 == 9)
printf("\n");
}
printf("\n");
return 0;
}
unsigned irnd(void)
{
rndnum = (rndnum * A + C) % M;
return rndnum;
}
ps. 이런게 STL이라던것 같던데...