로또 당첨 확률 계산
로또 당첨 확률이 궁금하여 몇번 만에 1등에 당첨되는지
알려주는 앱을 만들어봤어요.
먼저 1~45 사이의 숫자를 랜덤으로 6개 추출하는 function을 만듭니다.
const BALL_MAX = 6; //로또 6개의 숫자
const run = () => {
const numArray = Array(45)
.fill()
.map((_, i) => i + 1);
let result = [];
for (let i = -1; ++i < BALL_MAX; ) {
const num = Math.floor(Math.random() * 45) - i;
result[i] = numArray[num];
numArray.splice(num, 1); //선택된 번호는 삭제한다.
}
return result;
};
당첨 숫자를 몇번만에 찾는지 출력합니다.
const findWinning = (times) => {
let winnigNum = run(); //숫자 추출
winnigNum = winnigNum.sort(sortAsc); //오름차순 정렬
console.log("당첨숫자", winnigNum);
winnigNum = winnigNum.join(","); //배열을 문자열로 만든다.
for (const i of Array(times).keys()) {
let isLoop = true;
let count = 0;
while (isLoop) {
count++;
const lottoNum = run();
const sorttingLottoNum = lottoNum.sort(sortAsc);
if (sorttingLottoNum.join(",") === winnigNum)
isLoop = false;
}
console.log(
count.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","),
"번 돌려야 1등 당첨"
);
}
};
findWinning(10); //10번 실행해본다.
콘솔창에 출력되는 메세지
당첨숫자 (6) [4, 10, 22, 23, 40, 45]
11,519,352 번 돌려야 1등 당첨
4,400,702 번 돌려야 1등 당첨
31,182,311 번 돌려야 1등 당첨
3,214,285 번 돌려야 1등 당첨
7,391,023 번 돌려야 1등 당첨
9,092,039 번 돌려야 1등 당첨
9,797,204 번 돌려야 1등 당첨
14,547,297 번 돌려야 1등 당첨
385,232 번 돌려야 1등 당첨
2,482,972 번 돌려야 1등 당첨
댓글
댓글 쓰기