#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_SIZE 100000
int list[MAX_SIZE];
int main(void)
{
srand((unsigned int)time(NULL));
for (int i = 0; i < MAX_SIZE; i++) {
list[i] = rand() % MAX_SIZE + 1;
for (int j = 0; j < i; j++) {
if (list[i] == list[j]) {
i--;
break;
}
}
}
for (int i = 0; i < MAX_SIZE; i++)
printf("%d ", list[i]);
printf("\n");
return 0;
}
MAX_SIZE가 너무 커서 프로그램이 멈춘 것처럼 보이는건가? 30000까지는 잘 되는데 40000으로 올려보니까 5분이 넘어도 출력이 안 되네
4만이 아니라 10만인데?
그냥 40000부터는 안 된다고 ㅇㅇ
RAND_MAX 확인해보셈 보통 3만 좀 넘음ㅇㅅㅇ
해당 댓글은 삭제되었습니다.
범위 어케 넘음?ㅇㅅㅇ
i까지 비교하면 0을 못넘기자나ㅇㅅㅇ
거기까진 너무 갔고..ㅇㅅㅇ
MAX_RAND 값이 문제였네 구글링 해서 솔루션 찾았다 ㄱㅅ
MAX_RAND 맞음?ㅇㅅㅇ