개발지식 먹는 하마 님의 블로그

기초(4) 난수 생성 본문

알고리즘

기초(4) 난수 생성

devhippo 2025. 1. 24. 21:14

Seed란?

난수 생성기의 초기 상태를 설정하는 값이다.
시드값이 동일하면 항상 동일한 난수 시퀀스가 생성된다.

  • 짧은 시간 간격으로 프로그램을 여러 번 실행 시, 동일 시드가 반복될  수 있다.
  • 동시에 같은 시드를 사용하면 동일한 난수 결과가 나올 수 있다.

> C++

<random> 라이브러리를 사용하는 것이 좋다.

#include <random>

random_device rd;   //시드 생성
mt19937 gen(rd);    //난수 생성

uniform_int_distribution<> dis(start, end); //start~end 사이의 균등 분포를 정의, 정수형
uniform_real_distribution<> dis(start, end); //start~end 사이의 균등 분포를 정의, 실수형

dis(gen) //생성된 난수

> Java

Random 클래스를 사용해 더 다양한 난수를 만들 수 있다.

Random random = new Random(시드); //시드 설정이 가능하다

random.nextInt(n); // 0과 (n-1) 사이의 정수
random.nextDouble();
random.nextBoolean();

 

'알고리즘' 카테고리의 다른 글

기초(6) DFS, BFS  (0) 2025.01.24
기초(5) 그래프 이론  (0) 2025.01.24
기초(3) 리스트, 스택, 큐  (0) 2025.01.24
기초(2) 시간와 공간복잡도  (0) 2025.01.24
기초(1) 파일 입출력 C++ & Java  (0) 2025.01.24