Na wstępie, chcę podziękować z góry za okazaną Waszą pomoc.
Nie jestem mocny w kombinatoryce i niestety nie mogę w prosty sposób poradzić sobie z indeksowaniem wyników
lotto 6 z 49 liczb dla ich kolejnych kombinacji, zaczynając od numeru indeksu [1] a kończąc na ostatnim [13 983 816]
dla kolejnych układów liczb:
1,2,3,4,5,6
1,2,3,4,5,7
1,2,3,4,5,8
...
1,2,3,4,5,49
...
23,45,46,47,49
...
44,45,46,47,49
Czyli przykładowo, jeżeli mam wylosowane liczby 1,2,3,4,5,6 to ich indeks równy jest [1],
natomiast w przypadku wylosowanych liczb 1,2,3,4,6,13 to ich indeks wynosi [51],
a dla kombinacji 44,45,46,47,49 wynosi już [13 983 816].
Domyślam się, że chodzi o wzór Newtona dla 6 kolejnych liczb
tj. w stylu
\( {0\choose 1}+{0\choose 2}+{0\choose 3}+{0\choose 4}+{0\choose 5}+{49\choose 6}=13 983 816\)
Zapewne jest to dla Was proste zagadnienie, jednak nie mam koncepcji jak to ugryźć
Jak przeindeksować kolejno kombinacje lotto
-
- Użytkownik
- Posty: 19
- Rejestracja: 20 lut 2023, o 03:13
- Płeć: Mężczyzna
- Podziękował: 7 razy
-
- Użytkownik
- Posty: 2282
- Rejestracja: 14 cze 2011, o 11:34
- Płeć: Mężczyzna
- Lokalizacja: Sosnowiec
- Podziękował: 88 razy
- Pomógł: 351 razy
Re: Jak przeindeksować kolejno kombinacje lotto
Nie rozumiem pytania. Możliwych wyników jest dokładnie \(\displaystyle{ {49 \choose 6}=13983816}\) i istotnie można je ponumerować w sposób, który opisałeś. Co dalej?
-
- Użytkownik
- Posty: 19
- Rejestracja: 20 lut 2023, o 03:13
- Płeć: Mężczyzna
- Podziękował: 7 razy
Re: Jak przeindeksować kolejno kombinacje lotto
Istotnie można je ponumerować ale jak to zrobić, jaki wzór można wykorzystać do tego zadania aby go rozwiązać?
Dla zbioru liczb 1,2,3,4,5,7,13 mamy indeks na pozycji 93 a jaki mamy dla kombinacji liczb 6 z 49 gdy przykładowo podane będą liczby 13,17,19,23,31,41 ??? (tak dla ciekawości same liczby pierwsze )
Dodano po 26 dniach 20 godzinach 20 minutach 42 sekundach:
Może komuś uda się to pchnąć dalej?
-
- Użytkownik
- Posty: 2282
- Rejestracja: 14 cze 2011, o 11:34
- Płeć: Mężczyzna
- Lokalizacja: Sosnowiec
- Podziękował: 88 razy
- Pomógł: 351 razy
Re: Jak przeindeksować kolejno kombinacje lotto
Jak się wydaje, jedyne co da się zrobić, to wzór rekurencyjny.
Pierwszy wyraz numeracji to \(\displaystyle{ \{1,2,3,4,5,6\}}\).
Zakładając, że zdefiniowany został wyraz \(\displaystyle{ \{x_1,x_2,\ldots, x_6\}}\), rozpatrujemy przypadki:
1. \(\displaystyle{ x_6<49}\).
2. \(\displaystyle{ x_6=49, x_5<48}\).
3. \(\displaystyle{ x_6=49, x_5=48, x_4<47}\).
\(\displaystyle{ \vdots}\)
7. \(\displaystyle{ x_7=49,\ldots, x_1=44}\).
i w wiadomy sposób definiujemy kolejny wyraz.
Można udowodnić, że wartościami tego przyporządkowania są dokładnie wszystkie kombinacje 6-elementowe zbioru 49-elementowego oraz jest ono różnowartościowe.
Z punktu widzenia czysto matematycznego jest to pełny opis tej numeracji, chociaż jak wiadomo nie daje on konkretnego wzoru. Z drugiej strony możliwe jest napisanie programu, który oblicza te wartości.
Pierwszy wyraz numeracji to \(\displaystyle{ \{1,2,3,4,5,6\}}\).
Zakładając, że zdefiniowany został wyraz \(\displaystyle{ \{x_1,x_2,\ldots, x_6\}}\), rozpatrujemy przypadki:
1. \(\displaystyle{ x_6<49}\).
2. \(\displaystyle{ x_6=49, x_5<48}\).
3. \(\displaystyle{ x_6=49, x_5=48, x_4<47}\).
\(\displaystyle{ \vdots}\)
7. \(\displaystyle{ x_7=49,\ldots, x_1=44}\).
i w wiadomy sposób definiujemy kolejny wyraz.
Można udowodnić, że wartościami tego przyporządkowania są dokładnie wszystkie kombinacje 6-elementowe zbioru 49-elementowego oraz jest ono różnowartościowe.
Z punktu widzenia czysto matematycznego jest to pełny opis tej numeracji, chociaż jak wiadomo nie daje on konkretnego wzoru. Z drugiej strony możliwe jest napisanie programu, który oblicza te wartości.
-
- Użytkownik
- Posty: 19
- Rejestracja: 20 lut 2023, o 03:13
- Płeć: Mężczyzna
- Podziękował: 7 razy
Re: Jak przeindeksować kolejno kombinacje lotto
Tak, można stworzyć prosty program, który będzie przechodził kolejno po wszystkich kombinacja tego 6-elementowego zbioru.
Kiedyś, gdzieś chyba widziałem wzór, który właśnie podaje numer indeksu dla danej kombinacji. Program to proste rozwiązanie problemu ale czasochłonne.
Kiedyś, gdzieś chyba widziałem wzór, który właśnie podaje numer indeksu dla danej kombinacji. Program to proste rozwiązanie problemu ale czasochłonne.