우선 우리가 쓰는 iostream은 입출력을 도와주는 라이브러리이다.
근데 이상한 점이 있다.
우리가 rand, time같은 함수를 다른 라이브러리 호출 없이 쓸 수 있다는 것이다.
그 이유를 알고 있는가 ? ????
cpp의 iostream 내부에는, stdlib, ctime같은 라이브러리가 존재하기 떄문이다!
(이렇게 말이죠)
난수란 일정한 범위 내에서 아무런 수나 꺼내 온 것이다
하지만 컴퓨터에게 아무거나 가져와! 라고 하면 컴퓨터는 수행할 수 없다.
그래서 rand는 주어진 seed에 맞는 seed 테이블의 숫자를 가져오는데
rand의 seed가 1일 때 rand함수를 n번 실행하면, 41, 6334, 26500, 19169,, .... 가 실행 할 때마다 나온다.
생각해보자, 실행 할 때마다 같은 값이 나오면 사용자는 값을 예측 할 수 있게 된다.
이를 해결하기 위해서는 srand라는 함수로 rand함수의 seed를 바꿀 수 있는데
srand(10230) 이런식으로 숫자를 넣으면 rand함수가 10230 seed 테이블을 가져온다.
하지만 아직 문제가 있다.
seed의 값이 바뀌지 않는다는것
seed를 바꾸려면 무엇을 해야할까??
바로 time()이다, time(0)을 실행하면 약 2n년
1970년 1월 1일 00:00:00부터의 시간을 초로 환산한 현재 시간을 반환한다.

이를 이용하면 위의 문제를 해결할 수 있다.
time의 반환값을 보면 int64가 나온다.
srand 함수는 unsigned int를 받는 함수기 때문에
unsigned int(time(NULL))로 써주는게 좋을 것이다
끝