아래 포스팅에서 국내 로또와 미국 로또의 경우의 수를 구한 파일을 올린 적이 있는데요~
2014/05/16 - [로또] - 미국 로또 메가 밀리언 모든 경우의 수
2011/03/02 - [로또] - 로또 복권의 모든 경우의 수
우리 나라 로또의 경우의 수는 45C6 (45 Combination 6)이죠~
Combination에 대한 정의는 아래 위키피디아에 설명이 자세히 나와 있습니다.
http://ko.wikipedia.org/wiki/%EC%A1%B0%ED%95%A9
MATLAB 에서는 이런 조합의 경우의 수를 매우 쉽게 구할 수 있습니다.
이런 조합의 경우의 수를 구하는 함수는 nchoosek() 라는 함수 입니다.
간단하게 로또로 예를 들어보면~ 45 개의 숫자중에 6개를 뽑는 경우의 수니까~
MATLAB command window 에서 아래와 같이 표현 할 수 있습니다. 로또 복권의 모든 경우의 수인 8145060 가 나오는 것을 확인 할 수 있죠~
>> nchoosek(45,6)
ans =
8145060
다음으로 조합을 다 구하고 싶다면 첫번재 인자에 벡터 값을 넣어 주면 됩니다.
1~5 중에서 2 개를 뽑는 경우의 수를 모두다 구해 볼까요~
>> nchoosek(1:5, 2)
ans =
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
위 예와 같이 첫 번재 인자로 벡터를 넣어 주니까~ 조합의 경우의 수가 아니라 조합을 다 구해 주는 것을 확인 할 수 있습니다.
너무 간단하죠~ MATLAB 이 설치 안되신 분들은 OCTAVE 에서도 동일하게 nchoosek() 함수를 사용할 수 있습니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB Command History 표시 방법 (0) | 2015.01.11 |
---|---|
MATLAB dirac delta 함수 (0) | 2014.09.21 |
MATLAB OOP(Object-Oriented Programming) Filter Class (0) | 2014.07.09 |
MATLAB 16QAM AWGN & Flat Fading Diversity Simulation (0) | 2014.07.05 |
MATLAB Figure 창 그림으로 저장 하기 saveas (2) | 2014.06.18 |
Matlab Sample Rate Conversion (0) | 2014.06.09 |
MATLAB atan(), atan2() (0) | 2014.06.07 |
MATLAB Random Generation Seed 변경 (0) | 2014.05.06 |
댓글