Q&A

  • 랜덤수 생성방법 질문
안녕하세요?...

랜덤수를 생성해야 하는데 어케하는지..궁금해서요..



만약 1~ 2,500,000 까지의 수가 있는데



10,000건만 10번 샘플링을 해야하는데

(즉 만건,만건,만건,만건,.... 해서 10만건)

10번 샘플링한 값이..전부 똑같아서는 안되겠죠?...



어케해야 하나요..

알려주세요...





2  COMMENTS
  • Profile
    밥벌레 2000.02.19 04:07
    음..혹시 실행할 때 마다 같은 난수만 발생시키는거 해결하시려는 건지요..?

    랜덤으로 발생되는 난수는 RandSeed(맞나) 라는 전역 변수값에 의해 정해집니다..

    따라서 RandSeed 를 바꾸면 발생되는 랜덤값도 바뀝니다..

    결론은, Random 함수를 부르기 전에 Randomize 프로시져를 부르면 RandSeed 를 현재 시각을 이용해 초기화해 줍니다.

    따라서 발생되는 값이 항상 달라지죠..

    그럼 도움이 되셨길..



    김완희 wrote:

    > 안녕하세요?...

    > 랜덤수를 생성해야 하는데 어케하는지..궁금해서요..

    >

    > 만약 1~ 2,500,000 까지의 수가 있는데

    >

    > 10,000건만 10번 샘플링을 해야하는데

    > (즉 만건,만건,만건,만건,.... 해서 10만건)

    > 10번 샘플링한 값이..전부 똑같아서는 안되겠죠?...

    >

    > 어케해야 하나요..

    > 알려주세요...

    >

    >

  • Profile
    술친구 2000.02.17 19:50
    김완희 wrote:

    > 안녕하세요?...

    > 랜덤수를 생성해야 하는데 어케하는지..궁금해서요..

    >

    > 만약 1~ 2,500,000 까지의 수가 있는데

    >

    > 10,000건만 10번 샘플링을 해야하는데

    > (즉 만건,만건,만건,만건,.... 해서 10만건)

    > 10번 샘플링한 값이..전부 똑같아서는 안되겠죠?...

    >

    > 어케해야 하나요..

    > 알려주세요...

    >

    >

    안녕하세요.. 술친굽니다.

    다음과 같이 해보세요..(맞나?)

    소스는 샘플링 해서 DB에 집어넣는 겁니다.

    필드는 string 이구요.. 물론 integer로 바꾸어서 하셔도 되구요..



    procedure TForm1.BitBtn1Click(Sender: TObject);

    var

    I, J, R : Integer;

    begin



    Randomize;

    for I := 1 to 10 do

    begin

    for J := 1 to 10000 do

    begin

    R := Random(2500000);

    with Query1 do

    begin

    Close;

    Sql.Clear;

    Sql.Add('Insert into SamplingDB(SamplingNo) ');

    Sql.Add(' Values( '''+ IntToStr(R) +''') ');

    ExecSql;

    end;

    end;

    end;

    end;



    고수님들의 조언을 기다립니다.

    술친구였슴다..