기금넷 공식사이트 - 복권 조회 - C++ 스포츠 복권 36 선 7 은 어떻게 선택합니까?

C++ 스포츠 복권 36 선 7 은 어떻게 선택합니까?

두 배열 모두 36 입니다.

첫 번째 배열은 1 에서 36 까지의 36 개 수를 저장하고, 두 번째 배열은 지정된 인덱스 위치의 수가 액세스되었는지 여부를 저장하며, 초기화는 모두 0 입니다.

다음 단계는 난수를 사용하여 숫자를 선택하는 것입니다. 첫 번째 숫자는 36 가지 선택이 있어서 36 으로 나머지를 취한다. 두 번째 숫자는 35 개의 선택이 있기 때문에 35 로 나머지를 취하고, 일곱 번째 숫자는 30 개의 선택이 있기 때문에 30 으로 나머지를 취한다.

코드는 다음과 같습니다.

# 포함? & ltstdio.h & gt

# 포함? & ltstdlib.h & gt

# 포함? & lttime.h & gt

Int? 메인 (int)? Argc,? 샤일? Const? *argv[])

{

Srand (부호 없는) 시간 (비어 있음); -응? //난수 초기화

Int? Arr[36]? =? {? 0? } //? 1-36 을 저장합니다

Int? [36] 를 방문한 적이 있습니까? =? {? 0? } //? 지정된 인덱스 위치를 저장하는 데 액세스했는지 여부입니다.

뭐 때문에? (int? 나? =? 0; -응? 나? & lt? Sizeof(arr)? /? Sizeof (arr [0]); -응? ++i)

{

Arr[i]? =? 나? +? 1;

}

Int? 결과 [7]? =? {? 0? } //? 결과를 저장합니다

뭐 때문에? (int? 나? =? 0; -응? 나? & lt? Sizeof (결과)? /? Sizeof (result [0]); -응? ++i)

{

Int? R? =? 랜드 ()? %? (36? -응? I);

//? K 는 액세스되지 않은 r 번째 배열 인덱스를 나타냅니다.

뭐 때문에? (int? J? =? 0,? K? =? 0; -응? J? & lt? Sizeof(arr)? /? Sizeof (arr [0]); -응? J++)

{

만약? ([j] 를 방문한 적이 있습니까? = =? 0)

{

만약? (k? = =? R)

{

[j] 를 방문한 적이 있습니까? =? 1;

결과 [나]? =? Arr [j];

}

K++;+;

}

}

}

Printf ("result: \ n");

뭐 때문에? (int? 나? =? 0; -응? 나? & lt? Sizeof (결과)? /? Sizeof (result [0]); -응? ++i)

{

Printf("%2d? "" ,? 결과 [I]);

}

Printf ("\ n");

반환? 0;

}