카테고리 없음
rand, srand (랜덤 함수)
zuyo
2019. 5. 9. 01:41
반응형
rand
- 특정 범위 안에서 난수를 발생시키고 싶은 경우
- 0 ~ RAND_MAX 범위 중 하나의 수를 랜덤하게 반환
- stdlib.h 포함 필요
1. 사용법
예를 들어, 1~3중 난수를 발생시키고 싶다면
rand()%3+1;
2. 설명
stdlib.h에 정의되어 있는 RAND_MAX는 시스템에 따라 다르며 보통 32767 이다.
나머지 연산자를 이용하면 0 - 32767사이에 발생시키는 함수에서 1-100 사이의 난수를 발생시킬수 있다.
발생한 난수를 100으로 나누면 0-99 사이의 값이 되고, 여기에 1을 더하면 1-100사 이의 난수가 된다.
간단히 공식화 해보면,
rand() %(종료값-시작값+1) + 시작값
srand
- 매번 다른 난수를 발생시키고 싶은 경우
- stdlib.h 포함 필요
- time() 사용시 time.h 포함 필요
1. 사용법
srand(time(NULL));
2. 설명
호출할 때마다 매번 바뀌는 값을 반환하게 하려면 srand 함수를 사용해야 한다.
srand는 파라미터를 통해 매번 다른 값을 반환하는게 가능하다.
매번 다른 값을 반환시키려면 파라미터에 매번 다른 값을 넣어야 하는데,
그렇기 때문에 보통 시간값을 넣는다.
반응형