랜드함수..
에드윈
2023.04.01
예를 들면 랜덤값을 할때
data[r][c] = rand()%41+60;
이런식으로 하잖아요? 근데 저 랜덤값이 어떤식으로 정해지죠? 근데 거기다 41을 나눈나머지값에 왜 60을 더할까요?;;
평소에 습관처럼 썼는데 의미도 모르고 쓰고 있었네요..
-
반율하
현재 시간에 따른 생성방법이 좋은건가요 그럼?
-
새콤이
아 그렇구나 %가 나머지값이 아니라 0부터 n-1까지의 수 이구나.. 감사합니다 ltd6405님 수다님
-
매화
rand() : 0 ~ RAND_MAX(32767)
rand() % 41 : 0 ~ 40
rand() % 40 + 60 : 60 ~ 100 -
큰가람
rand()%n은 난수의 범위를 설정할 때 0부터 n-1까지 범위를 만들어 줍니다. 위의 문법은 난수의 범위를 0부터 40까지 설정한 값에 60을 더하므로, 결과값은 60부터 100까지 난수가 발생하겠네요. 그런데 위의 방법은 그리 좋은 난수생성 방법이 아닙니다. 왜냐하면 그리 random한 난수가 발생되지 않기 때문이죠. 그러므로 이런 난수생성방법은 통계관련 프로그래밍에는 적합하지 않습니다. 자세히 알고 싶으시면 제가 이곳에 쓴 글을 보시면 됩니다.