Home 난수 생성
Post
Cancel

난수 생성

난수 생성

1
2
3
4
5
6
7
8
9
10
11
#include <random>  // 랜덤 난수 생성등과 관련 된 라이브러리를 include
...

std::random_device rd;  // 시드값을 얻기 위해 생성
std::mt19937 gen(rd());  // 난수 생성 엔진을 초기화
std::uniform_int_distribution<int> dis(0, 99);  // 0부터 99사이의 난수 생성

int randomNumber = dis(gen);  // 랜덤 난수 호출

...

  • random_device 를 사용하게 되면 OS단에서 제공하는 난수를 사용할 수 있다.
    • 장치의 주변 환경 (드라이버의 노이즈 등) 과 상호작용하며 만들어지기 때문에 의사난수 생성 방식보다는 속도는 느리다.
  • 따라서 주로 std::mt19937 gen(random_device()); 와 같이 난수 엔진을 초기화하는 방식으로 사용한다.
    • std::mt19937<random> 라이브러리에서 제공하는 난수 생성 엔진 중 하나이다.
  • std::uniform_int_distribution<int> dis(min, max); 를 통해 난수를 생성 할 범위를 지정해준다.

Reference

모두의 코드

This post is licensed under CC BY 4.0 by the author.

bool 출력 시 true, false 로 출력하기

FastAPI 실행 시 전체코드가 두 번씩 실행 되는 문제