Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 ... 14 15 16 ... 37 38 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | Unikatowe KOMBINACJE.. od wielu los. oczekujące na min. wypłacalne |
2022-06-17 (11:05)![]() Data rejestracji: 2012-09-03 Ilość postów: 3244 ![]() | wpis nr 1 422 636 [ CZCIONKA MONOSPACE ] > i7-8650U myślę, że jak na ten komputero-tablet do internetu, to jest b. dobry wynik. Pozdrawiam Weź po uwagę, że jak do środka pętli włożysz jakieś większe obliczenia to włączy się throttling i zegar "pójdzie" w dół. --- wpis edytowano 2022-06-17 11:08 --- |
2022-06-17 (11:20)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 422 639 [ CZCIONKA MONOSPACE ] "Int jest za krótki. Daj - unsigned long long" Sindbad, Dzięki. ten unsigned long long to zakres z ogromniastą liczbą Od 0 do 18 446 744 073 709 551 615 więc dlaczego w zwykłej pętli od 1 do 646 492 111 000 wyrzucił mi wartość z minusem ? ...no tak ale to jest stare C uruchamiane przez gcc -o ... ![]() Sindbad, zaciekawiło mnie Twoje przyśpieszenie przez wątki Z ciekawości sprawdziłem bez użycia wątków i w Visual Basic uważanym za wolniejszy język od C : Czas przebiegu while loop od 0 do 205 811 513 765 z krokiem 10 Wynik dla 205 811 513 771 = 42,78 sek 0,71 min Czas przebiegu while loop od 0 do 205 811 513 765 z krokiem 1 Wynik dla 205 811 513 765 = 423,97 sek 7,07 min Użyłem wyższych niż 1 kroków w pętli aby szybciej sprawdzić czas i prawidłowość dzialania. Wracając do wątku poruszonego przez Lottonautę jakoby wygerował 1,65 biliona kombinacji w parę minut to test tylko jednej pętli jest taki: Czas przebiegu while loop od 0 do 1 646 492 110 120 z krokiem 1000 Wynik dla 1 646 492 111 000 = 4,03 sek 0,07 min Czas przebiegu while loop od 0 do 1 646 492 110 120 z krokiem 100 Wynik dla 1 646 492 110 200 = 35,52 sek 0,59 min Czas przebiegu while loop od 0 do 1 646 492 110 120 z krokiem 10 Wynik dla 1 646 492 110 120 = 347,47 sek 5,79 min Czas przebiegu while loop od 0 do 1 646 492 110 120 z krokiem 1 Wynik dla 1 646 492 110 120 = 3422,97 sek 57,05 min a przecież mowa jest aż o 10 pętlach ... dla wygerowania dziesiątek... |
2022-06-17 (14:12)![]() Data rejestracji: 2008-10-13 Ilość postów: 20531 ![]() | wpis nr 1 422 662 [ CZCIONKA MONOSPACE ] Cześć VB na pewno jest wolniejszy. Pascal obraca jedną pętlę od 1 do 205811513765 w 00:04:25 To samo z ośmioma wątkami robi w 00:06:26 8 wątków zwania mi maszynę o 50% Jednak wynik końcowy jest lepszy o 500% I to się nadaje do prasy jak to mówią. |
2022-06-18 (01:52)![]() Data rejestracji: 2008-10-13 Ilość postów: 20531 ![]() | wpis nr 1 422 745 [ CZCIONKA MONOSPACE ] MultiTest, „ten unsigned long long to zakres z ogromniastą liczbą Od 0 do 18 446 744 073 709 551 615 więc dlaczego w zwykłej pętli od 1 do 646 492 111 000 wyrzucił mi wartość z minusem ?” Użyłeś formatu dla liczby zbyt krótkiej. printf("ILosc iteracji %i\n", i); Zmień format na długą liczbę i będzie OK. printf("ILosc iteracji %lld\n", i); Pascal ze wstawką w asemblerze od 1 do 205811513765 w 00:04:09 Zainstalowałem CodeBlocks ale wynik słaby 00:06:03 ![]() |
2022-06-18 (14:33)![]() Data rejestracji: 2005-12-12 Ilość postów: 4801 ![]() | wpis nr 1 422 815 [ CZCIONKA MONOSPACE ] Witam Sindbad,masz pocztę. Pozdrawiam |
2022-06-18 (17:12)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 422 826 [ CZCIONKA MONOSPACE ] sindbad Wydawało się że będzie łatwo przeskoczyć na C, ale nie ... Po pascalu, a jeszcze po basicu gdzie niesamowitą pomocą Visual Studio kod się prawie sam pisze nie spodziewałem się takiej restrykcyjności. ![]() Napiszesz printf z dużej litery i już błąd ![]() dla każdej odmiany typu całkowitego inny format... No ale może przy wiekszej wprawie będzie krócej ... Dzięki za pomoc z tym %lld. ![]() Dla takich pętli i procek i kompilalator ma jednak znaczenie. Żeby sprawdzić różnicę z odkurzyłem laptopa z Intel Core 2 "Zainstalowałem CodeBlocks ale wynik słaby 00:06:03" a zobacz może to : https://sourceforge.net/projects/embarcadero-devcpp/ |
2022-06-18 (22:21)![]() Data rejestracji: 2008-10-13 Ilość postów: 20531 ![]() | wpis nr 1 422 859 [ CZCIONKA MONOSPACE ] Dzięki MultiTest, Zauważyłem w tym programie nowszy kompilator. Idąc dalej zainstalowałem sam kompilator GCC 10.3.0. Wynik obliczeń podobny jak ze wstawką w asemblerze 4:07 C++ może być bardzo przydatne. W dalszym ciągu to tylko 1/8 tego, co zrobił Lottonauta |
2022-06-18 (23:06)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 422 868 [ CZCIONKA MONOSPACE ] Jak się przyda to OK ![]() Ja też spróbuje coś jeszcze skrócić... innym sposobem. A co zrobił Lottonauta ? Kupił sobie super komputer ? Bedą różnice w lepszych kompilatorach i na szybszych komputerach ale bez przesady ... Gdzie w wyniku licznik, gdzie czas ? Nie mówiąc już o prostym kodzie do generowania kombinacji. |
2022-06-21 (11:48)![]() Data rejestracji: 2017-03-29 Ilość postów: 9361 ![]() | wpis nr 1 423 220 [ CZCIONKA MONOSPACE ] MultiTest Troszkę przerobiłem do przeanalizowania i pod kątem swoich potrzeb. Jakoś alergicznie podchodzę do konsoli. Dodałem tymczasowo kilka okienek ze stanem zmiennych. Pozdrawiam ![]() |
2022-06-21 (21:29)![]() Data rejestracji: 2017-03-29 Ilość postów: 9361 ![]() | wpis nr 1 423 298 [ CZCIONKA MONOSPACE ] ... i jeszcze pętle For-Next w else usunę, bo w tym przypadku jest ona zbędna. |
2022-06-21 (23:57)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 325 [ CZCIONKA MONOSPACE ] Jacek_K1961 Dlaczego ? Zamiast wypisywać po kolei wszystkie Kom(1) , Kom(2)... nie lepiej tylko msgbox(s); ![]() Konsola... Czy nie można się obejść bez formy i przycisków że sobie zaprojektować program do wygrywania ... Wiele rzeczy na własne potrzeby można zrobić szybciej i prościej bez formy jak się ma tylko dostęp do kodu. ![]() --- wpis edytowano 2022-06-22 00:02 --- |
2022-06-22 (08:30)![]() Data rejestracji: 2017-03-29 Ilość postów: 9361 ![]() | wpis nr 1 423 351 [ CZCIONKA MONOSPACE ] MultiTest. Tych okienek w ogóle nie będzie są tylko na etapie sprawdzania moich założeń. Mnie zależy tylko na dostępie do zmiennych z kom(). Może jak wszystkie je wywalę to może i w konsoli pójdzie. Jak pisałem wcześniej mnie zależy na pominięciu tego całego kodowania CSN. Wiem, że to czym się bawię dotyczy tylko jednego przypadku, chociaż i z tym da się radę coś wykombinować. Pozdrawiam --- wpis edytowano 2022-06-22 08:30 --- |
2022-06-22 (10:03)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 354 [ CZCIONKA MONOSPACE ] "Jak pisałem wcześniej mnie zależy na pominięciu tego całego kodowania CSN..."" Jacek_K1961 Ten program jest tylko odpowiedzią na sposób wygenerowania wszystkich kombinacji "szóstek" multi z jednego losowania, więc zapisuje kolejno w tablicy kom, "szóstki" (albo inne kombinacje od 1 do 10 ) tworzone z liczb kolejnego losowania. Jeżeli mają być inne kombinacje "parki", "piątki" czy "dziesiątki" to wystarczy tylko w linii k=6 usunąć 6 dopisać odpowiednio 2,5,czy 10 - w trybie konsoli to nie wymaga to dodawania okienek edycyjnych czy list. Jeżeli "szóstka" została utworzona program przechodzi do do Else i tu pytanie co chcemy teraz z tą kolejną "szóstką" zrobić ? - można ją wyświetlić na ekranie lub zapisać albo jedno i drugie. - można numerować kolejno csn pozwala nam zidentyfikować zapisaną szóstkę po jej numerze, jeżeli tego potrzebujemy. Jak nie sposób dostępnym algorytmem csn (np. patrz link 777ch) to czym ? Można też próbować na inne sposoby ale cel jest taki sam - szybkie i jednoznaczne odwołanie się do właściwej komórki pamięci. Pozdrawiam |
2022-06-22 (12:59)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 423 380 [ CZCIONKA MONOSPACE ] hejka MultiTest napisał : cyt:"...csn pozwala nam zidentyfikować zapisaną szóstkę po jej numerze, jeżeli tego potrzebujemy. Jak nie sposób dostępnym algorytmem csn (np. patrz link 777ch) to czym ? Można też próbować na inne sposoby ale cel jest taki sam - szybkie i jednoznaczne odwołanie się do właściwej komórki pamięci." To --> kwintesencja......zasadnicza kwestia czyli zwyczajnie -->"grunt". Właściwa komórka pamięci zapamięta . -->TO CO TAM WPISZEMY. ![]() Oczywiście nasza pamięć jest --> obszarem ograniczonym, i dlatego w zależności od potrzebnej nam informacji zwrotnej !!!, trzeba zdecydować jaki --> MODEL Pamięci jest nam potrzebny ............... http://cc.etsii.ull.es/ftp/antiguo/MTDPRG1/freepascal/manual/prog/node10.html#SECTION001010000000000000000 |
2022-06-22 (16:29)![]() Data rejestracji: 2017-03-29 Ilość postów: 9361 ![]() | wpis nr 1 423 396 [ CZCIONKA MONOSPACE ] Jak już pisałem, ubzdurałem sobie, że liczby będą jednocześnie adresem w tablicy 300500200. Być może ten kod CSN jest lepszy, ale chcę to sprawdzić. |
2022-06-22 (23:06)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 481 [ CZCIONKA MONOSPACE ] ubzdurałem sobie, że liczby będą jednocześnie adresem w tablicy... Jacek_K1961, Niekoniecznie ![]() Jeżeli do tablicy 1..80 będą zapisywane wylosowane liczby od 1 do 80 pod warunkiem że liczbę zapisuje się pod takim samym numerem komórki tablicy można by powiedzieć że liczby będą jednocześnie adresem, bo zaglądając do komórki z numerem 1 znajdziemy tam liczbę 1 zaglądając do komórki z adresem na przykład 70 znajdziemy tam liczbę 70. W innym przypadku może być jak w tej piosence “ Czy tutaj mieszka panna Agnieszka ?” Panna Agnieszka ma swój adres, skąd mamy wiedzieć że numer 70 jest adresem pani Agnieszki ? W programowaniu adres wskazuje na zawartość komórki pamięci, Można zapisać to jako kolejne zmienne tak: Kombinacja pierwsza =” 1 2 3 4 5 6” Kombinacja druga =” 1 2 3 4 5 7” Kombinacja trzecia = “ 1 2 3 4 5 8” itd. albo automatycznie numerować komórki używając tablicy Tab(1) zawiera 1 2 3 4 5 6 Tab (3) zawiera 1,2,3,4,5.8 itd. Podając w programie nazwę zmiennej lub wskazując na numer pozycji w tablicy ( czyli indeks) uzyskamy zawartość konkretnej komórki 3 czyli np. 1 2 3 4 5 8 Gdyby używać bezpośrednio tablicy kom to liczby z niej trzeba byłoby zapisywać w tablicy dwuwymiarowej i tak dla pierwszej kombinacji tab(1,1) = 1 tab (1,2) = 2 tab (1,3) = 3 tab(1,4) = 4 Tab(1,5) = 5 Tab (1,6) =6 a dla drugiej kombinacji prawie tak samo za wyjątkiem ostatniej pozycji Tab (1,6) =7 Ok. Ale czy będziemy widzieć co jest pod adresem tab(300500) albo tab (300500,6) ? Szukając rozwiązania możemy spróbować nadawać własne jednoznacznie identyfikujące adresy tak jak w tablicach asocjacyjnych. Czy też tylko pozostaje obliczyć na nowo kombinację dla wybranej pozycji ? Pozdrawiam |
2022-06-22 (23:09)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 483 [ CZCIONKA MONOSPACE ] "ubzdurałem sobie, że liczby będą jednocześnie adresem w tablicy..." Jacek_K1961, Niekoniecznie ![]() Jeżeli do tablicy 1..80 będą zapisywane wylosowane liczby od 1 do 80 pod warunkiem że liczbę zapisuje się pod takim samym numerem komórki tablicy można by powiedzieć że liczby będą jednocześnie adresem, bo zaglądając do komórki z numerem 1 znajdziemy tam liczbę 1 zaglądając do komórki z adresem na przykład 70 znajdziemy tam liczbę 70. W innym przypadku może być jak w tej piosence “ Czy tutaj mieszka panna Agnieszka ?” Panna Agnieszka ma swój adres, skąd mamy wiedzieć że jakiś numer 70 jest adresem pani Agnieszki ? I żeby wiedzieć iż mówimy o tym samym... W programowaniu adres wskazuje na zawartość komórki pamięci, Można zapisać to jako kolejne zmienne tak: Kombinacja pierwsza =” 1 2 3 4 5 6” Kombinacja druga =” 1 2 3 4 5 7” Kombinacja trzecia = “ 1 2 3 4 5 8” itd. albo automatycznie numerować komórki używając tablicy Tab(1) zawiera 1 2 3 4 5 6 Tab (3) zawiera 1,2,3,4,5.8 itd. Podając w programie nazwę zmiennej lub wskazując na numer pozycji w tablicy ( czyli indeks) uzyskamy zawartość konkretnej komórki 3 czyli np. 1 2 3 4 5 8 Gdyby używać bezpośrednio tablicy kom to liczby z niej trzeba byłoby zapisywać w tablicy dwuwymiarowej i tak dla pierwszej kombinacji tab(1,1) = 1 tab (1,2) = 2 tab (1,3) = 3 tab(1,4) = 4 Tab(1,5) = 5 Tab (1,6) =6 a dla drugiej kombinacji prawie tak samo za wyjątkiem ostatniej pozycji Tab (1,6) =7 Ok. Ale czy będziemy widzieć co jest pod adresem tab(300500) albo tab (300500,6) ? Szukając rozwiązania możemy spróbować nadawać własne jednoznacznie identyfikujące adresy tak jak w tablicach asocjacyjnych. Czy też tylko pozostaje obliczyć na nowo kombinację dla wybranej pozycji ? Zdekodować ? Pozdrawiam --- wpis edytowano 2022-06-22 23:23 --- |
2022-06-23 (15:42)![]() Data rejestracji: 2017-03-29 Ilość postów: 9361 ![]() | wpis nr 1 423 552 [ CZCIONKA MONOSPACE ] ... a jednak znalazłem te zakłady, co to lotek mówił, że pudło, a wysłalem ich kilka. Po dodzwonieniu pan z infolinii powiedział, że mieli awarię i po kilku dniach wygrane się pojawią na koncie. Tak, że ludziska sprawdzajcie !!! ![]() ![]() |
2022-06-24 (12:16)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 671 [ CZCIONKA MONOSPACE ] Ta "awaria" ma cały czas ten sam przebieg i też była w poprzedniej wersji. |
2022-06-24 (13:05)![]() Data rejestracji: 2020-08-05 Ilość postów: 5927 ![]() | wpis nr 1 423 682 [ CZCIONKA MONOSPACE ] Jacek_K1961, Czy nie lepiej wykorzystać sprawdzone rozwiązanie a potem ewentualnie zmieniać ? Szybciej też i łatwiej rozwiązać ten problem na małej tablicy a spróbujmy po Twojemu. Robisz DIM Tab6 i tak to zostaje zapisane: tab6(0)=0 tab6(1)=0 tab6(2)=0 tab6(3)=0 ... tab6(300500199)=0 tab6(300500200)=0 Jeżeli wygerujesz pierwszą szóstkę, w kolejności powstawania to najbardziej intuicyjne wydaje się zapisane jej wystąpienia po nr 1 drugą szóstkę pod numerem 2 i ostatnią pod numerem 300500200 Problem że z wygerowanej szóstki z danego losowania nie wynika wcale jej numer. Może być każdy z zakresu od 1 do 300500200 Zastosowane rozwiązanie jest takie że zapisuje się "szóstkę" z tablicy w całości do stringa a algorytm CSN ustala jaki jest jej numer w kolejności powstawania a potem taki zapis tab(numer_Csn)=true jak podał 777ch albo tab(numer_Csn)=tab(numer_CSN)+1; Ten drugi sposób nie tylko sygnalizuje wystąpienie wylosowanej szóstki ale także także przy okazji , ile razy występuje. Po przejściu losowań w tablicy może być taki zapis tab6(0)=0 tab6(1)=0 tab6(2)=3 tab6(3)=1 ... tab6(300500199)=7 tab6(300500200)=0 Na koniec przechodzisz pętlą tablicę z zapisami sprawdzając co jest zapisane pod adresem tab6(1)...Tab6(2)... i ci wyświetla że pod tab6 jest true albo z metody 2 wartość= 3 i wiesz tylko dotyczy że dotyczy to szóstki z nr 2 - bo na to wskazuje nr indeksu więc znowu drugi algorytm dekoduje ten numer na tekst w tym przypadku "1,2,3,4,5,7" Można sobie prześledzisz jak działa taki dekoder - masz tu gotowy skrypt w najnowszym basica według autorstwa Iona Saliu. --- wpis edytowano 2022-06-24 13:06 --- |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 ... 14 15 16 ... 37 38 Wyślij wiadomość do admina |