그럼 안녕 얘들 아벡터의 요소가 너무 많습니다. 조합 프로그램
내가 로또 통계에 대한 프로젝트를 만드는 중이라서 기본적으로 처음 납입 등의 속성이 클래스 "kombinacije4"가 두 번째 NUM 세 번째 납입 네 번째 납입 및 날짜와 시간이 지난 나타나 얼마나 시간은 조합이 나타났습니다.
class kombinacije4 {
public:
Date date;
Time time;
int first;
int second;
int third;
int fourth;
int howMuchRoundsDidntShowedUp;
int howMuchTimesAppeared;
void GetCombination(int, int, int, int);
void GetCombinationsAfterRound(int);
};
은 그 때 나는
std::vector<kombinacije4> fourties;
내가 아니라이 벡터가 매우 빠르고 초기화 이러한 요소 벡터를 가지고 있지만 나는 그것이 마지막 날짜와 시간을 보여 주었다 때처럼 이러한 속성을 변경하고자 할 때 나는 문제가 또는 그것이 얼마나 많이 나타 났는지는 80 개의 숫자가 있고 한 라운드에서 20 개의 숫자를 그리기 때문입니다. 이 20 개의 숫자에서 나는 4의 조합을 만들어
fourties
에서 찾아서 속성을 변경해야합니다. 700 번 동안 .700 라운드가 있기 때문에. 누구든지 자신의 가치에 직접적으로 접근 할 수있는 방법을 알고 있습니까? 어쩌면
std::find
뭔가 할 수 있을까요? 분명히 나는 시간 제한 문제가있다.
다른 방법으로이 프로그램을 수행하는 아이디어는 무엇입니까?
for(auto i=round.begin();i!=round.end();i++){
for(auto j=i+1;j!=round.end();j++){
for(auto k=j+1;k!=round.end();k++){
for(auto l=k+1;l!=round.end();l++){
for(auto p=fourties.begin();p!=fourties.end();p++){
-if-statement
}
}
}
}
}
Obviously this block is going to pass 3 million times through the vector of million and half elements
고맙습니다!
몇 비고 : 1)'IF-statement'하는 것은 무엇입니까? 라운드의 크기를 변경하지 않으면 네 개의 네 스팅 된 루프 'i, j, k, l'대신에'if-statement'가 실행될 횟수를 미리 계산할 수 있습니다 (round.size에 따라 다릅니다)()) 하나의 루프 만 있습니다. 2) Vrijeme는 영어 단어가 아닙니다. 스택 오버플로에 대한 질문을 게시 할 때 두 가지 언어를 혼용하지 마십시오. – mercury0114
if-statement는 라운드에서 그려지는 조합이 있다면, 1 580 512 조합의 전체 벡터를 통해 그 조합을 검색 할 것이고, if it is FOUND (if 문장)을 변경하면 howMuchRoundsDidntShowedUp와 howMuchTimesAppeared가 결국 날짜가되고, 시각. 나는 그 단어를 바꾸는 것을 잊어 버렸지 만 그것은 단지 하나의 단어이다. 안부 인사 –
잘 모르겠지만이 라이브러리의'for_each_combination'이 도움이된다고 생각됩니다 : https://github.com/HowardHinnant/combinations –