난수 생성 (random 함수)

용가리🐉·2024년 1월 23일
0

기타

목록 보기
3/5
post-thumbnail

random 함수

python

import random

random.random() // 0 ~ 1 사이의 임의의 수
random.randrange(a,b) // a 이상 b 미만의 임의의 수

random 모듈을 불러와서 해당 모듈 내의 다양한 함수(시드 지정, 범위 지정 등) 사용 가능
python 의사 난수 생성 공식 문서

Java

import java.util.Random
// 혹은
import java.util.Math

Random rand = new Random(); // seed를 임의로 생성
Random rand = new Random(n); // seed를 지정

double mrand = Math.random();
// 반환값 : 0.0 이상 1.0 미만의 임의의 수
// seed는 현재 시각

Random 혹은 Math 클래스를 불러와 해당 클래스 내의 함수 사용 가능
java 의사 난수 생성 방법

C++

#include <stdlib.h>
#include <time.h>

srand(time(NULL)); // seed : 프로그램을 시작했을 때의 초

rand();

stdilb.h를 호출하여 c 스타일의 의사 난수 생성 방법 이외에도c++은 의사 난수 생성 방법이 매우 많음
c++ 의사 난수 생성 방법

의사 난수

Python, Java, C++ 등에서 쓰이는 random 함수는 진정한 의미의 무작위가 아닌, 랜덤에 가까운 '의사 난수'를 생성함.

  • 입력값이나 컴퓨터 환경이 동일하다면, 그 결과값은 항상 같음

대표적인 의사 난수 생성 알고리즘에는 '선형 합동법', '메르센 트위스터' 등이 있음

  • 선형 합동법 : Java, C
  • 메르센 트위스터 : C++, Python

출처 : https://evan-moon.github.io/2019/07/14/what-is-random/#xor-%EC%8B%9C%ED%94%84%ED%8A%B8xor-shift

profile
자아를 찾아 떠나는 중,,,

0개의 댓글

관련 채용 정보