Rozdział 30
Ostatnio zmodyfikowano 2013-12-12 12:51
Bimbol Temat założony przez niniejszego użytkownika |
Rozdział 30 » 2012-10-24 20:43:45 Witam, przeanalizowałem już cały 30 rozdział i stoję na tym zadaniu.
"Napisz program, który zliczy liczbę możliwych kombinacji wylosowania 6 liczb ze zbioru 49 liczb (reasumując: rozpatrujesz problem popularnej gry liczbowej Lotto). Zadanie należy rozwiązać przy pomocy zagnieżdżonych pętli (nie można używać wzoru)."
A dokładniej nie chodzi o problemy z napisaniem tego, tylko nie rozumiem zbytnio polecenia. PS. Nie wiem o co chodzi z Lotto :D
Za wytłumaczenie będę wdzięczny :) |
|
jsc |
» 2012-10-24 20:48:33 Masz wygenerować wszystkie możliwe losowania i je policzyć. |
|
Eluzive |
» 2012-10-24 21:22:25 Masz 49 liczb. Za kazdym razem losowanych jest 6 liczb. Masz policzyc wszystkie mozliwe losowania. |
|
Soberowy |
» 2013-02-09 21:14:44 << removed by xevuel - załóż własny temat >> |
|
Geniusz |
» 2013-02-09 22:17:25 Ja przy tym zadaniu stworzyłem taki kod ale nie jestem pewny czy zrobiłem to poprawnie, gdyż ilość możliwych kombinacji nie zgadza się z tym ile powinno być. #include <iostream> int main() { int a = 49; int iSuma = 0; for( int b = 1, a = 49; b <= a; b++ ) { for( int c = 1, a = 48; c <= a; c++ ) { for( int d = 1, a = 47; d <= a; d++ ) { for( int e = 1, a = 46; e <= a; e++ ) { for( int f = 1, a = 45; f <= a; f++ ) { for( int g = 1, a = 44; g <= a; g++ ) { iSuma++; } } } } } } std::cout << "Ilosc mozliwosci : " << iSuma; return 0; }
Ilosc mozliwosci : 1478412928 Process returned 0 (0x0) execution time : 25.234 s Press any key to continue.
|
|
wojteks86 |
» 2013-02-10 01:25:26 Nie wiem czy dobrze mysle, ale z twojego programu wychodzi ze jedna liczba moze zostac wylosowana wiecej niz jeden raz. Moj wyglada tak i zmiescilem sie w przedziale: int main() { int i = 0; for( int p1 = 1; p1 < 50; ++p1 ) { for( int p2 = p1 + 1; p2 < 50; ++p2 ) { for( int p3 = p2 + 1; p3 < 50; ++p3 ) { for( int p4 = p3 + 1; p4 < 50; ++p4 ) { for( int p5 = p4 + 1; p5 < 50; ++p5 ) { for( int p6 = p5 + 1; p6 < 50; ++p6 ) { i++; } } } } } } cout << i; return 0; }
|
|
usmiech |
» 2013-02-10 01:56:41 Nie znam tego zadania, ale jako algorytm uzylbym cus z rachunku prawdopodobienstwa..... zawsze lubilem matme , pozdrawiam :) |
|
sebool12 |
» 2013-12-12 12:51:30 A co sądzicie o tym? Program zlicza jak w założeniu zadania wszystkie kombinacje, ale trwa to naprawdę długo
#include "stdafx.h" #include <iostream> #include <ctime> using namespace std;
int _tmain( int argc, _TCHAR * argv[] ) { int suma = 0; for( int a = 1; a < 50; a++ ) { for( int b = 1; b < 50; b++ ) { if( b == a ) { continue; } for( int c = 1; c < 50; c++ ) { if( c == b || c == a ) { continue; } for( int d = 1; d < 50; d++ ) { if( d == c || d == b || d == a ) { continue; } for( int e = 1; e < 50; e++ ) { if( e == d || e == c || e == b || e == a ) { continue; } for( int f = 1; f < 50; f++ ) { if( f == e || f == d || f == c || f == b || f == a ) { continue; } else { suma++; cout << suma << endl; } } } } } } } cout << suma; system( "pause" ); return 0; }
|
|
« 1 » |