컴퓨터공부/C & C++ & STL

[펌] rand()

achivenKakao 2005. 9. 24. 11:14

지식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이라던것 같던데...