본문 바로가기
언어

[C++] rand()

by 송파감자 2023. 9. 13.

21번 줄에 rand() % max + min을 하면 최솟값과 최댓값 사이 임의의 값을 얻을 수 있다.

근데 왜?

 

1) rand()는 0 ~ RAND_MAX 사이의 난수를 생성함

2) % 나머지 연산자는 rand()를 max로 나눌 때 나머지를 구함. 그럼 난수의 범위가 0 ~ max-1로 제한됨

3) +min을 하면 범위가 0~max-1  => min ~ max-1+min으로 범위 설정


 

min 1과 max 6 사이의 랜덤수를 출력!