를 사용하여 C에서 다른 번호를 생성 그러니까 기본적으로 내가 1 내지 50에서 5 개 난수를 생성하는 C에서이 함수를 쓴 :임의
#include <stdio.h>
#include <stdlib.h>
int main() {
int c, n;
printf("Five random numbers from 1 to 50 \n");
for (c = 1; c <= 5; c++) {
n = rand()%50 + 1;
printf("%d\n", n);
}
return 0;
}
와 나는 숫자가 확신 할 수있는 방법을 알고 싶습니다 이 코드에 의해 생성 된 코드는 모두 서로 다릅니다.
어떤 도움?
당신은 당신이 이전을 저장하는 경우 당신이 그와 비교할 수 있지만, 그렇지 않으면 당신은 할 수없는, 임의의 본성 수 없습니다. 실제로 16 비트의 매우 가짜 의사 랜덤 성을 갖는'rand'는 사실상 거의 보장됩니다. 이 특정 설정은 균일 한 분배를 생성하지 않습니다. 더 나은 임의의 것을 사용하고 싶다면 나는 ['random_r'] (http://man7.org/linux/man-pages/man3/srandom_r.3.html) – Mgetz
을 제안 할 것입니다 (rand()와 7-pass-swap과 같은 알맞은 shuffle-algorithm을 사용하여) 1..50의 순서를 섞어서 처음 다섯 자리 숫자를 순서대로 없앨 수 있습니다. 다른 방법이 있지만 이것은 설명에서 카드 더미를 섞는 것과 비슷합니다. – WhozCraig
작은 예제 @Mgetz를 보여줄 수 있습니까? – DiogoCarou