본문 바로가기
참고/JAVASCRIPT

로또 lotto

by Elfen Lied 2020. 5. 22.
반응형
var num = 0;
var lotto = new Array();
var is_duplicate = false;

for (var i = 1; i < 6; i++) {
    lotto.push(0);
}

for (var i = 0; i < 6; i++) {
    num = Math.ceil(Math.random() * 45);
    if(i==0) {
        lotto[i] = num;
    } else {
        is_duplicate = false;
        for (var j = 0; j < i; j++) {
            if(num==lotto[j]) {
                is_duplicate = true;
                i = i - 1;
                break;
            } else {
                // 
            }
        }
        if(is_duplicate==false) {
            lotto[i] = num;
        }
    }
}

for (var i = 0; i < 6; i++) {
    document.write(lotto[i] + " ");
}
document.write("<br>");



설명
random으로 1~45까지 번호를 출력

중복 검사 - var is_duplicate = false; 는 중복이 없다라는 전제로 시작
if문에서 is_duplicate = true; 즉 중복이 있다라면 i = i - 1; 가 실행되고
반복문에 i를 다시 제자리로 돌려 그 부분만 다시 시작한다.
다시 중복 검사후 
중복 없다면 아래쪽 if문 if(is_duplicate==false) lotto[i] = num; 실행

결과
6가지의 1~45까지의 중복없는 수가 찍힘
ex) 26 40 38 17 25 14    //오름차순으로 아직 바꾸지 않음
                
반응형

댓글