C에서 정말 간단한 난수 생성기 방법을 찾고 있습니다. 숫자는 0과 24 사이 여야하며 예를 들어 14.5f 일 수 있습니다.C에서 [0, n) 범위의 난수를 생성 하시겠습니까?
도움이 될 것입니다. 감사합니다.
C에서 정말 간단한 난수 생성기 방법을 찾고 있습니다. 숫자는 0과 24 사이 여야하며 예를 들어 14.5f 일 수 있습니다.C에서 [0, n) 범위의 난수를 생성 하시겠습니까?
도움이 될 것입니다. 감사합니다.
float getRand() {
float rnd = rand();
rnd /= RAND_MAX;
return rnd * 24.0f;
}
사용하기 전에 srand
와 난수 발생기를 시드 확인을 출시 할 원한다고 생각, 보이는 . 당신이 사용할 수있는
linear congruential generators을 보시면 저의 열등한 수학 지식으로도 쉽게 구현할 수 있습니다. 나는 원래의 질문을 오해처럼
난 당신이 (숙제, 재미 등) 자신의 발전기
아니요, 표시가 있습니다 :) 작은 유니 할당 – user64392
아마도 정답으로 선택할 수 있을까요? –
C의 0과 30000이 같은 사이의 정수 얻기 위해 난수 발생기 내장 : 당신은 그냥 대신 진수를 얻기 위해 일부 부서를해야 할 것
`srand(time(NULL)); int x= rand();`
및 정수 .
일부 플랫폼 (OS X, Ubuntu 8.04)에서는 rand가 random, srandom 등을 위해 더 이상 사용되지 않습니다. –
Mersenne_twister은 매우 간단 할뿐만 아니라 매우 강력합니다.
링크의 코드를 참조하십시오. 당신이 GPL License를 사용할 수 있는지
그러나, 많은 일들이 간단 균일 한 임의의 숫자에서 다른 배포판으로, 거기에있다 Random-Number-Generation part of the manual
에서 The GNU Scientific Library (GSL) 특정 검사 Random-Number-Generator-Examples 를 사용합니다.
일부 플랫폼 (OS X, Ubuntu 8.04)에서는 rand가 random, srandom 등의 함수 대신 사용되지 않습니다. –
매번 전화하기 전에 시드? 정확히 씨앗도 뿌린거야? – user64392
아니요 ... 절대적으로 항상 아닙니다. 첫 번째 전화 전에 한 번만. srand (시간 (0))로 시드 할 수 있습니다. –