난수를 이용하는 프로그램

주환서·2026년 1월 11일

개요

난수를 이용하는 프로그램 I

  • 3~7 사이의 랜덤한 값을 출력하는 프로그램 작성

난수를 이용하는 프로그램 II

  • 가장 작은 값과 큰 값을 각각 입력받아서 그 사이의 랜덤한 값을 출력하는 프로그램 작성한다.

난수를 이용하는 프로그램 III

  • 프로그램을 실행하면 프로그램이 1 - 10사이의 숫자로 임의로 작성한다.
  • 유저는 1 - 10 사이의 숫자를 입력하여 맞으면 true, 틀리면 false로 출력한다.

프로그램I

#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;
}

프로그램II

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;

프로그램III

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 부분에 결과가 어떤 값이었는지 나타내는 것도 좋을 것 같습니다.

0개의 댓글