21번 줄에 rand() % max + min을 하면 최솟값과 최댓값 사이 임의의 값을 얻을 수 있다.
근데 왜?
1) rand()는 0 ~ RAND_MAX 사이의 난수를 생성함
2) % 나머지 연산자는 rand()를 max로 나눌 때 나머지를 구함. 그럼 난수의 범위가 0 ~ max-1로 제한됨
3) +min을 하면 범위가 0~max-1 => min ~ max-1+min으로 범위 설정
'언어' 카테고리의 다른 글
[C++] 인터페이스클래스와 추상클래스 개념 (0) | 2024.08.02 |
---|---|
[C++] cmath 라이브러리 (0) | 2023.09.13 |
[C++] find() / npos (0) | 2023.09.07 |
[c++] 헷갈리던 vector, 다시 공부 (0) | 2023.08.30 |
[C++] 2차원 배열을 X좌표 Y좌표로 생각하기! (1) | 2023.03.24 |