예를들어서
srand((unsigned int)time(NULL));
while (true){
int a= rand()%201;
cout << a << endl;
Sleep(5000);
}
이렇게해두면 a값이 나오는게 어느정도 규칙적임? 아니면 계산하는데 걸리는 자잘한 시간같은거 차이에 의해 달라짐?
둘다 시간단위라서 애매하네
예를들어서
srand((unsigned int)time(NULL));
while (true){
int a= rand()%201;
cout << a << endl;
Sleep(5000);
}
이렇게해두면 a값이 나오는게 어느정도 규칙적임? 아니면 계산하는데 걸리는 자잘한 시간같은거 차이에 의해 달라짐?
둘다 시간단위라서 애매하네
랜덤을 쓰면서 무슨 규칙을 찾는건진 모르겠지만 실행 시간은 랜덤 결과에 영향을 안줌. c rand함수는 호출되는 횟수에 의존적임. 시드값으로 난수처럼 보이는 배열 만들어놓고 쓰는거라서. 그래서 안전한 랜덤도 아님.
근데 windows.h 헤더를 포함시키고 쓰는 거라 시간의 영향을 받잖아 sleep(5000)으로 5초마다 규칙적으로 계산하는데 srand도 시간을 기준으로 시드값을 만드는거니까 장기적으로 볼때 규칙성이 있지않을까?
srand가 while문 바깥에 있으니까 관련이 없잖아
그리고 srand가 시간을 시드로 쓰겠다는게 아니라 현재의 타임스탬프 숫자값을 시드로 쓰겠가는거임. rand 관련 함수랑 시간이랑 어떠한 연관도 없음
ㅇㅎ ㄳㄳ