728x90
rand()%6의 경우 무작위의 숫자를 6으로 나눈 나머지를 의미한다. 즉 0,1,2,3,4,5의 수가 무작위로 생성된다.
이를 좀 더 일반화하면
rand()%a ===> 0부터 a-1 까지 범위의 난수를 받는다.
rand()%a+3 ==> 3부터 a+2까지의 범위의 난수를 받는다. 이와 같은 과정을 통해
rand()%b+a ==> a부터 (b-1)+a의 범위의 난수를 받는다는 것을 알수있다.
rand()%(b-a+1) ==> 0부터 b-a의 범위
rand()%(b-a+1)+a ==> a부터 b의 범위이다.
즉 정리하자면 N, T 까지의 범위의 난수를 생성하고싶다면
rand()%(T-N+1)+N 이다.
728x90
'지난 학기들의 기록 > C 기초' 카테고리의 다른 글
[C실습] 배열 유형 분석 2- N개의 정수배열에서 M개의 칸씩 위치옮기기 (0) | 2020.05.31 |
---|---|
[C실습] 배열 유형 분석 1- N개의 정수배열에서 M개씩 그룹지어 비교하기(+추가) (2) | 2020.05.31 |
[C실습] 배열 실습문제 11~13번 풀이 (0) | 2020.05.21 |
[C실습]소수와 다음 소수 출력하기 (0) | 2020.05.10 |
[C실습] 두번째로 빠른 문자 출력하기 (1) | 2020.05.10 |
댓글