여기서는 C를 사용하여 주어진 범위에서 난수를 생성하는 방법을 볼 것입니다. 이 문제를 해결하기 위해 srand() 함수를 사용할 것입니다. 현재 시간은 srad() 함수를 시드하는 데 사용됩니다.
이 함수는 임의의 범위에서 난수를 생성할 수 없으며 0에서 일부 값 사이의 숫자를 생성할 수 있습니다. 따라서 이를 위해서는 한 가지 트릭을 따라야 합니다. 0에서 (상한 – 하한 + 1) 사이의 난수를 생성한 다음 상쇄를 위한 하한을 추가합니다.
예시
#include <stdio.h> #include <stdlib.h> #include <time.h> void generate_random(int l, int r, int count) { //this will generate random number in range l and r int i; for (i = 0; i < count; i++) { int rand_num = (rand() % (r - l + 1)) + l; printf("%d ", rand_num); } } main() { int lower = 10, upper = 15, count = 15; srand(time(0)); //current time as seed of random number generator generate_random(lower, upper, count); printf("\n"); }
출력
15 11 13 10 13 10 15 11 14 12 12 13 12 13 14