
C언어에서 난수 발생을 위한 seed값을 설정하는 두 함수는 mt_srand 함수와 srand 함수입니다.
mt_srand 함수는 Mersenne Twister 알고리즘을 사용하는 난수 발생 함수로, seed값을 설정하면 고정된 시드값을 사용하여 난수를 발생시킵니다.
srand 함수는 일반적인 난수 발생 함수로, seed값을 설정하면 시스템 시드값을 사용하여 난수를 발생시킵니다.
두 함수의 차이점은 Mersenne Twister 알고리즘을 사용하는지 여부입니다. Mersenne Twister 알고리즘은 고정된 시드값을 사용하여 난수를 발생시키기 때문에, 같은 시드값을 사용하여 동일한 난수를 발생시킬 수 있습니다.
반면, srand 함수는 시스템 시드값을 사용하여 난수를 발생시키기 때문에, 같은 시드값을 사용하여 다른 난수를 발생시킬 수 있습니다.
사용법은 다음과 같습니다.
- mt_srand 함수: `mt_srand(seed);`
- srand 함수: `srand(seed);`
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
int seed = 12345;
mt_srand(seed);
printf("%dn", mt_rand()); // 고정된 난수 발생
srand(seed);
printf("%dn", rand()); // 시스템 시드값에 따라 난수 발생
return 0;
}
이 예제에서는 mt_srand 함수를 사용하여 고정된 난수를 발생시키고, srand 함수를 사용하여 시스템 시드값에 따라 난수를 발생시킵니다.
2025-08-06 05:32