Lekcja 30 - Zadanie domowe Lotto
Ostatnio zmodyfikowano 2014-12-29 21:17
dafuck17 Temat założony przez niniejszego użytkownika |
Lekcja 30 - Zadanie domowe Lotto » 2014-12-25 18:04:21 Kod z treścią zadania: #include <iostream> using namespace std;
int main() { int kombinacje = 0; for( int a = 1; a <= 49; a++ ) { for( int b = 2; b <= 49; b++ ) for( int c = 3; c <= 49; c++ ) for( int d = 4; d <= 49; d++ ) for( int e = 5; e <= 49; e++ ) for( int f = 6; f <= 49; f++ ) { if( a == b || b == c || c == d || d == e || e == f || d == f || c == f || b == f || a == f || c == e || b == e || a == e || b == d || a == d || a == c ) continue; cout << a << " " << b << " " << c << " " << d << " " << e << " " << f << " " << endl; kombinacje++; } } cout << "Liczba kombinacji: " << kombinacje; return 0; }
Nie wiem czy kod jest dobry ponieważ musiałby mi się kompilować chyba cały dzień żebym mógł sprawdzić, czy jest te 12 milionów kombinacji, więc proszę tu o sprawdzenie :p |
|
Rashmistrz |
» 2014-12-25 21:10:11 Przez ten IF w środku końca nie widać... //i te wypisywanie kombinacji... Nie mógłbyś zrobić to tak że do zmiennej zewnętrzniejszej pętli po prostu dodajesz 1 i używasz tej wartości w wewnętrzniejszej pętli jako początkową? Wtedy na pewno będą różne wartości i nie będziesz musiał ich sprawdzać. O coś w tym stylu: for( a = 0; a < 49; a++ ) { for( b = a + 1; b < 49; b++ ) {
|
|
1aam2am1 |
» 2014-12-26 00:48:23 Wtedy nie będzie wszystkich kombinacji. Np. I kombinacja 10 11 20 ... II kombinacja 20 10 11 ... Liczby są w innej kolejności co powoduje że jest to inna kombinacja. Nie wiem czy w lotto się to stosuje ale jest to na początku kombinatoryki. Jeżeli kolejność się nie liczy to @up to skróci czas obliczeń i zwiększy czytelność kodu. |
|
Mateus. |
» 2014-12-26 09:38:07 @1aam2am1 Mylisz kombinacje z wariacjami bez powtórzeń. W tym przypadku są to kombinacje, czyli takie coś (2,1) i (1,2) to ta sama kombinacja. Zastosuj rozwiązanie Rashmistrz, tyle, że zrób w warunku pętli a < 50 lub a <= 49 , a nie a < 49 . Aha i usuń wypisywanie kombinacji, bo będzie to trwało naprawdę długo. |
|
dafuck17 Temat założony przez niniejszego użytkownika |
» 2014-12-29 21:17:56 dzięki za pomoc :) |
|
« 1 » |