1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <cstdlib> // rand() #include <cmath> // time() using namespace std; int main() { int MAX, RANGE; cout << "How many random numbers do you want to get? : "; cin >> MAX; cout << "Number Range (1 - x) : "; cin >> RANGE; cout << endl; srand(time(NULL)); // srand(time(1)); : 1초 단위로 시드가 바뀜. for (int i = 1; i <= MAX; i++) { cout << "Number #" << i << " : " << (rand() % RANGE) + 1 << endl; // rand() % 숫자의 범위 + 1 : 1~x의 범위 } return 0; } |
How many random numbers do you want to get? : 100 Number Range (1 - x) : 77 |
Number #1 : 52 Number #2 : 30 Number #3 : 43 Number #4 : 13 Number #5 : 66 Number #6 : 27 Number #7 : 60 Number #8 : 58 Number #9 : 36 Number #10 : 45 Number #11 : 66 Number #12 : 23 Number #13 : 24 Number #14 : 19 Number #15 : 1 Number #16 : 23 Number #17 : 52 Number #18 : 58 Number #19 : 48 Number #20 : 2 Number #21 : 27 Number #22 : 56 Number #23 : 34 Number #24 : 43 Number #25 : 45 Number #26 : 61 Number #27 : 41 Number #28 : 18 Number #29 : 21 Number #30 : 27 Number #31 : 33 Number #32 : 71 Number #33 : 57 Number #34 : 74 Number #35 : 6 Number #36 : 45 Number #37 : 23 Number #38 : 63 Number #39 : 23 Number #40 : 57 Number #41 : 31 Number #42 : 9 Number #43 : 2 Number #44 : 52 Number #45 : 28 Number #46 : 1 Number #47 : 73 Number #48 : 77 Number #49 : 56 Number #50 : 43 Number #51 : 2 Number #52 : 4 Number #53 : 19 Number #54 : 33 Number #55 : 46 Number #56 : 62 Number #57 : 14 Number #58 : 7 Number #59 : 2 Number #60 : 33 Number #61 : 33 Number #62 : 34 Number #63 : 26 Number #64 : 10 Number #65 : 28 Number #66 : 31 Number #67 : 54 Number #68 : 49 Number #69 : 16 Number #70 : 74 Number #71 : 28 Number #72 : 44 Number #73 : 6 Number #74 : 27 Number #75 : 17 Number #76 : 31 Number #77 : 25 Number #78 : 12 Number #79 : 28 Number #80 : 4 Number #81 : 52 Number #82 : 29 Number #83 : 5 Number #84 : 71 Number #85 : 60 Number #86 : 50 Number #87 : 55 Number #88 : 73 Number #89 : 56 Number #90 : 54 Number #91 : 28 Number #92 : 9 Number #93 : 8 Number #94 : 53 Number #95 : 19 Number #96 : 36 Number #97 : 4 Number #98 : 70 Number #99 : 5 Number #100 : 18 |
우선 랜덤 함수를 사용하기 위해서는 <cstdlib> 헤더와 <cmath> 헤더가 필요하다.
각각의 헤더들은 rand() 함수와 time() 함수를 사용하기 위해 필요하다.
우선 srand() 함수를 이용하여 시드를 분배하게 되는데, 그 기준을 현재 시간으로 설정하기 위해 인자를 time(NULL)로 한다.
(만약 srand() 함수의 인자에 동일한 수를 넣으면 동일한 랜덤의 수가 나오게 된다. 그러므로 실시간으로 그 값이 변하는 시간 값을 인자로 넣어주면, 매 시간 마다 값이 다른 랜덤의 수를 얻을 수 있다.)
1부터 x까지의 랜덤 함수의 범위는 (rand() % 범위) + 1 에 맞춰 구할 수 있다.
예를 들어, 1 <= x <= 100 범위에 있는 랜덤값을 얻고 싶다면 → (rand() % 100) + 1
'Programming > C++' 카테고리의 다른 글
Dynamic Memory (동적 메모리) (0) | 2019.05.06 |
---|---|
Pointers (포인터) (0) | 2019.05.06 |
Naming Rules for Variables (변수 이름 생성 규칙) (0) | 2019.05.06 |
sort 함수 정렬 기준 (0) | 2018.11.17 |
입력된 문자열에서 공백을 제거하여 출력하기 (0) | 2018.09.24 |
Pair Vector (0) | 2017.11.26 |
[header][container] queue : priority_queue (0) | 2017.11.17 |
[header][container] queue : queue (0) | 2017.11.17 |