#include #include int * make_random_list(len, max) { int *unused, *result; int idx, num; unused = malloc(max * sizeof(int)); result = malloc(len * sizeof(int)); for (idx = 0;idx < max;idx++) unused[idx] = idx; for (idx = 0;idx < len;idx++) { num = rand() % (max - idx); result[idx] = unused[num]; unused[num] = unused[max - idx - 1]; } free(unused); return result; } int main(int argc, char *argv[]) { int len, max, idx; int *result; if (argc < 3) { fprintf(stderr, "Usage: random_count \n"); return 1; } len = atoi(argv[1]); max = atoi(argv[2]); srand(time(NULL)); result = make_random_list(len, max); return 0; }