난수를 이용하는 프로그램 I
난수를 이용하는 프로그램 II
난수를 이용하는 프로그램 III
#include <iostream>
#include <string>
using namespace std;
int main();{
srand(time(NULL)); // 실행할 때마다 다른 숫자가 나오도록 시드 설정
int randomValue = rand() % 5 + 3; // 3 ~ 7 사이: 개수는 5개 (7-3+1)
cout << "3~7 사이의 랜덤 값: " << randomValue << endl;
return 0;
}

int main();
srand(time(NULL));
int min, max;
cout << "최소값과 최대값을 입력하세요: ";
cin >> min >> max;
int range = max - min + 1; // 범위 내 숫자 개수: max - min + 1
int randomValue = rand() % range + min;
cout << min << " ~ " << max << " 사이의 랜덤 값: " <<
randomValue << endl;
return 0;

int main();
srand(time(NULL));
int comNum = rand() % 10 + 1; // 1. 1 ~ 10 사이 숫자 임의 저장
int userNum;
cout << "1~10 사이의 숫자를 맞춰보세요: ";
cin >> userNum;
cout << boolalpha;
cout << "정답인가요? " << (comNum == userNum) << endl;
return 0;

1.1. srand - 랜덤한 숫자의 시드 설정 / time(NULL) - 랜덤한 시간
1.2. 랜덤한 숫자를 5로 나눈 나머지 +3을 하면 3~7 사이의 랜덤한 숫자로 설정
2.1. 범위 내 숫자는 max - min +1 로 설정
2.2. 랜덤한 값은 범위를 벗어나지 못하게 설정
3.1. 랜덤한 수를 10으로 나눈 나머지 +1을 해줘서 1~10 사이의 숫자를 comNum으로 저장
3.2. boolalpha로 true/false으로 나오게 한 다음 유저가 입력한 숫자와 comNum으로 저장된 값을 관계연산자 ==을 사용하여 같으면 true 다르면 false가 나오도록 설정
프로그램III 부분에 결과가 어떤 값이었는지 나타내는 것도 좋을 것 같습니다.