Kombinacje liczb w totolotku
Ostatnio zmodyfikowano 2018-01-24 23:51
krzysztofg0813 Temat założony przez niniejszego użytkownika |
Kombinacje liczb w totolotku » 2018-01-24 23:04:40 Witam, mam problem z zadaniem domowym z 3 poziomu rozdział 3 "Zagnieżdżanie pętli" obliczanie ile jest kombinacji w totolotku. napisałem taki program:
#include <iostream>
using namespace std;
int main() { long long ile; for(int a=1;a<=49;a++) for(int b=1;b<=49;b++) for(int c=1;c<=49;c++) for(int d=1;d<=49;d++) for(int e=1;e<=49;e++) for(int f=1;f<=49;f++) if((a!=b)&&(a!=c)&&(a!=d)&&(a!=e)&&(a!=f)&&(b!=c)&&(b!=d)&&(b!=e)&&(b!=f)&&(c!=d)&&(c!=e)&&(c!=f)&&(d!=e)&&(d!=f)&&(e!=f)){ ile++; } cout<<"Jest "<<ile<<" kombinacji w totolotku"<<endl; }
Program zwraca 10068347521, a powinien zwracać między 12 a 15 milionów. Dowiedziałem się już, że program nie działa, ponieważ nie uwzględnia kolejności cyfr, ale nie mam żadnego pomysłu jak to naprawić.
|
|
YooSy |
» 2018-01-24 23:13:57 Problem 1: if(( a != b ) &&( a != c ) &&( a != d ) &&( a != e ) &&( a != f ) &&( b != c ) &&( b != d ) &&( b != e ) &&( b != f ) &&( c != d ) &&( c != e ) &&( c != f ) &&( d != e ) &&( d != f ) &&( e != f ) |
Ten warunek jest całkiem zbędny. Nie wiem jakie jest jego przeznaczenie i jest zbyt długi aby go analizować. Problem 2: Każda pętla głębiej zagnieżdżona powinna być inicjalizowana wartością licznika zewnętrznej o jedne większą, np. for(a = 1....) for(b = a + 1....) // itd
|
|
krzysztofg0813 Temat założony przez niniejszego użytkownika |
» 2018-01-24 23:51:09 Dziękuje za pomoc już wszystko działa. |
|
« 1 » |