| Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 ... 323 324 325 ... 561 562 Wyślij wiadomość do admina 🎱 MultiPairs 2027 – nowa wersja w przeglądarce, otwórz BETA |
| Przewiń wpisy ↓ | moje ... oprogramowanie |
2020-04-28 (19:49) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 908 [ CZCIONKA MONOSPACE ] 777ch> Te gwarancje liczysz w Pascalu ? |
2020-04-28 (19:55) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 911 [ CZCIONKA MONOSPACE ] oczywiście ,tylko w paskalu w jedną sekundę z małym haczykiem to przeliczam jak poniżej : 357 ≤ C(99,25,4) ≤ 566 https://ljcr.dmgordon.org/cover/show_cover.php?v=99&k=25&t=4 -- Gwar.4 if [4] -- . Brak real {0} ...{- blef =0} Sprawdzono zbiór = 1581580 kombinacji Gwar..[4]= 100 % x1: [0] x=8: [0] x=14: [0] x2: [0] x=9: [0] x=15: [0] x3: [0] x=10: [0] x>=16: [1581580] x4: [0] x=11: [0] x5: [0] x=12: [0] x6: [0] x=13: [0] x=7: [0] Nr:0 ..1->2.. 19:50:16 Pula liczb: 0 hit min: 80 Time calculated : 1449,99079315524 ms czas sprawdzenia gwarancji w sekundach--- 1.449s sprawdź kleszek Validatorem |
2020-04-28 (19:59) kleszekData rejestracji: 2006-05-27 Ilość postów: 4990 | wpis nr 1 288 913 [ CZCIONKA MONOSPACE ] Nie da się. Validator ma [K] tylko do 15 liczb |
2020-04-28 (20:00) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 914 [ CZCIONKA MONOSPACE ] kleszek "prawie"......wszystko się da ,ale na wszystko potrzeba czasu+chęci ja mam inne pomysły ,które na razie zawodzą ale jeszcze nie podjąłem próby wywołania np 20 =tu robotników dla przeliczeń jednej gwarancji przecież inne programiki w on create zgarną dane bieżące i policzą swoje ..części a każdy może zrobić zapis dla programu -->"matki" czy "ojca" czasu+chęci --- wpis edytowano 2020-04-28 20:01 --- |
2020-04-28 (20:48) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 929 [ CZCIONKA MONOSPACE ] ale walka....... gratulacje wszystkim, a ja poległem..... ![]() |
2020-04-28 (20:52) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 933 [ CZCIONKA MONOSPACE ] ciągle na 14-tu stoję .... ![]() |
2020-04-28 (20:58) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 936 [ CZCIONKA MONOSPACE ] 777ch> Sprawdzasz w swojej procedurze wszystkie możliwe szóstki ? |
2020-04-28 (21:00) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 937 [ CZCIONKA MONOSPACE ] w tej starej procedurze -->tak procedure TForm1.gwar6nospeed6(Sender: TObject); var i,k, v, traf,s, r, cof, g, os, ST, l1, l2, l3, l4, l5,L9,l10, l6,l7,l8,lmam,BRAK5,BRAK6,mandat,nex : Integer; Freq, TimeStart, TimeEnd: Int64; btr2,btr3,btr4,btr5,btr6,btr7,btr8,btr10, dubel,hitdubel,wyp,maxdub,hitproc,hicior,MAXTR :integer; paskuda,tabest,tahitowa,reply4,Nazwa:string; gw106,gw105,gw104,gw103,gw102,gw109,gw108,gw107,gw1010: Real; brak2,brak3,brak4,brak7,brak8,brak9,brak10,brak:integer; i2, u,j,k2,l,fx,suma,pp,ih,tr,t,rw:integer; pok4,brakreal,tma4,mask4:longint; gwreal:real; wsptot, przel,zakład:string; label dalej; label brekuj; begin Spis := TStringList.Create; // Przed użyciem tworzymy TStringList brakreal:=0; brak4:=0; MAXTR:=0; brak4:=0; ST := 1; g := spinedit1.value; os := spinedit3.value; // konwersja ilegen:=spinedit2.Value; if os<6 then form1.memo8.Lines.Add('vmax<6....'); if os<6 then exit; pok4:= Combination(os,6); QueryPerformanceCounter(TimeStart); for l1 := 1 to os - 5 do begin p[1] := l1; for l2 := l1 + 1 to os - 4 do begin p[2] := l2; for l3 := l2 + 1 to os - 3 do begin p[3] := l3; for l4 := l3 + 1 to os-2 do begin p[4] := l4; for l5 := l4 + 1 to os - 1 do begin p[5] := l5; for l6 := l5 + 1 to os do begin p[6] := l6; MAXTR:=0; i:=1; repeat // if tabrand[i, 1]> p[1] then maxtr:=ilegen; // if tabrand[i, 2]> p[2] then maxtr:=ilegen; //if tabrand[i, 3]> p[3] then maxtr:=ilegen; // if tabrand[i, 4]> p[4] then maxtr:=ilegen; //if tabrand[i, 5]> p[5] then maxtr:=ilegen; //if tabrand[i, 6]> p[6] then maxtr:=ilegen; if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break else inc(maxtr); inc(i); until( maxtr>=ilegen) ; if maxtr=ilegen then inc(brak4); if (bestbrak<brak4-1)and(hallo=2) then goto brekuj; end; end; end; end; end; end; brekuj: QueryPerformanceCounter(TimeEnd); brakreal:=brak4; gwreal := (pok4-brak4)/pok4*100 ; gw104:= (pok4-brak4)/pok4*100 ; gwnow:=gw104; brakact:=brak4; edit8.text:=INTTOSTR(brakreal); Application.ProcessMessages; przel:=floattostr(gwnow); wsptot:=copy(przel,0,11); //jeżeli mniejsza po podmianie to przywracamy if (gwnow < hitgw) and(s1>0) then tabbest[strand][lw1]:=0; if (gwnow < hitgw) and(s1>0) then tabbest[strand][s1]:=s1; //if (gwnow < hitgw) and(s1=0)and(lw1>0) then tabbest[strand][lw1]:=lw1; if (gwnow < hitgw) and(s2>0) then tabbest[strand][lw2]:=0; if (gwnow < hitgw) and(s2>0) then tabbest[strand][s2]:=s2; //if (gwnow < hitgw) and(s2=0)and(lw2>0) then tabbest[strand][lw2]:=lw2; if (gwnow < hitgw) and(s3>0) then tabbest[strand][lw3]:=0; if (gwnow < hitgw) and(s3>0) then tabbest[strand][s3]:=s3; // if (gwnow < hitgw) and(s3=0) then tabbest[strand][lw3]:=lw3; if (gwnow < hitgw) and(s4>0) then tabbest[strand][lw4]:=0; if (gwnow < hitgw) and(s4>0) then tabbest[strand][s4]:=s4; //if (gwnow < hitgw) and(s4=0) then tabbest[strand][lw4]:=lw4; if (gwnow < hitgw) and(s5>0) then tabbest[strand][lw5]:=0; if (gwnow < hitgw) and(s5>0) then tabbest[strand][s5]:=s5; //if (gwnow < hitgw) and(s5=0) then tabbest[strand][lw5]:=lw5; if (gwnow < hitgw) and(s6>0) then tabbest[strand][lw6]:=0; if (gwnow < hitgw) and(s6>0) then tabbest[strand][s6]:=s6; // if (gwnow < hitgw) and(s6=0) then tabbest[strand][lw6]:=lw6; if (gwnow < hitgw) and(s7>0) then tabbest[strand][lw7]:=0; if (gwnow < hitgw) and(s7>0) then tabbest[strand][s7]:=s7; //if (gwnow < hitgw) and(s7=0) then tabbest[strand][lw7]:=lw7; Application.ProcessMessages; if gwnow <= hitgw then begin fx:=0; for t:=1 to os do begin if tabbest[strand][t]>0 then begin inc(fx); tabrand[strand][fx]:= tabbest[strand][t]; end; end; end; if gwnow <hitgw then goto dalej; memo6.Lines[0]:=('-- Gwar.6 if [6] --'); //memo6.Lines[1]:=('GwMask.[4]= '+floattostr(gw104)+' %'); memo6.Lines[2]:=('Brak real {'+INTTOSTR(brakreal)+'} ...{- blef =')+INTTOSTR(brakreal-blef)+'}'; memo6.Lines[3]:=('Sprawdzono zbiór = '+inttostr(pok4)+' kombinacji'); memo6.Lines[4]:=('Gwar..[6]= '+floattostr(gwreal)+' %'); memo6.Lines[12]:=('Time calculated : ' + FloatToStr(((TimeEnd - TimeStart) / 1000)) + ' ms'); mandat:= strand; if (spinedit33.value<>mandat)and(spinedit34.value<>mandat)and(spinedit35.value<>mandat)and(spinedit42.value<>mandat) and(spinedit36.value<>mandat)and(spinedit37.value<>mandat)and(spinedit40.value<>mandat)and(spinedit41.value<>mandat) and(spinedit44.value<>mandat)and(spinedit45.value<>mandat)and(spinedit46.value<>mandat)then begin nex := random(11)+1; if (nex=0)or(nex>11) then nex:=11; case nex of 1: spinedit33.value:=mandat ; 2: spinedit34.value:=mandat ; 3: spinedit35.value:=mandat ; 4: spinedit36.value:=mandat ; 5: spinedit37.value:=mandat ; 6: spinedit40.value:=mandat ; 7: spinedit41.value:=mandat ; 8: spinedit42.value:=mandat ; 9: spinedit44.value:=mandat ; 10: spinedit45.value:=mandat ; 11: spinedit46.value:=mandat ; end; Application.ProcessMessages; end; if gwnow >= hitgw then gw:=gwnow; // // if gwnow >= totalhit then form1.memo8.Text:=memo6.Text; if gwnow >= hitgw then begin gw:=gwnow; bestbrak:=brak4-blef; //StaticText7.Caption:=' best Gw.['+inttostr(maxdop)+']= '+floattostr(gw)+' %'; for ih := 1 to ilegen do begin zakład:=''; fx:=0; for tr := 1 to os do begin if (tabbest[ih][tr]>0)and(length(inttostr(tabbest[ih][tr]))=2) then zakład:=zakład+inttostr(tabbest[ih][tr])+ ' '; if (tabbest[ih][tr]>0)and(length(inttostr(tabbest[ih][tr]))=1) then zakład:=zakład+'0'+inttostr(tabbest[ih][tr])+ ' '; tabzak [ih][tr]:=tabbest[ih][tr]; if gwnow > totalhit then tabhit [ih][tr]:=tabbest[ih][tr]; if tabbest[ih][tr]>0 then begin inc(fx); tabrand[ih][fx]:= tabbest[ih][tr]; end; end; if length(zakład)>2 then Spis.Add(zakład); end; if totalhit < gwnow then Spis.SaveToFile('Plik.TXT'); // Spis.Free; if totalhit < gwnow then memo4.Lines.LoadFromFile('Plik.TXT'); if hitgw <= gw then begin if totalhit < gwnow then memo1.Lines.Clear; if totalhit < gwnow then memo1.Text:=memo4.Text; hitgw:=gw; edit3.Text:= wsptot; edit5.Text:='[-'+inttostr(bestbrak) +']'; end; Application.ProcessMessages; end; dalej: Spis.Free; end; |
2020-04-28 (21:04) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 941 [ CZCIONKA MONOSPACE ] trzeba by tą procedurę .........mocno zoptymalizować ale zaraz ...."wyspa dębów" albo co innego anie mam dobrego pomysłu dla obróbki danych bez tablic...... albo ciekawego pomysłu dla .....alokacji pamięci |
2020-04-28 (21:06) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 942 [ CZCIONKA MONOSPACE ] możesz z grubsza opisać słowami sam sposób sprawdzania ? |
2020-04-28 (21:10) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 944 [ CZCIONKA MONOSPACE ] for l1 := 1 to os - 5 do begin p[1] := l1; for l2 := l1 + 1 to os - 4 do begin p[2] := l2; for l3 := l2 + 1 to os - 3 do begin p[3] := l3; for l4 := l3 + 1 to os-2 do begin p[4] := l4; for l5 := l4 + 1 to os - 1 do begin p[5] := l5; for l6 := l5 + 1 to os do begin p[6] := l6; MAXTR:=0; i:=1; repeat // if tabrand[i, 1]> p[1] then maxtr:=ilegen; // if tabrand[i, 2]> p[2] then maxtr:=ilegen; //if tabrand[i, 3]> p[3] then maxtr:=ilegen; // if tabrand[i, 4]> p[4] then maxtr:=ilegen; //if tabrand[i, 5]> p[5] then maxtr:=ilegen; //if tabrand[i, 6]> p[6] then maxtr:=ilegen; if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break else inc(maxtr); inc(i); until( maxtr>=ilegen) ; if maxtr=ilegen then inc(brak4); if (bestbrak<brak4-1)and(hallo=2) then goto brekuj; end; to zasadnicze linie lecimy szóstki od pierwszej do ostatniej os to zmienna dla v=np.= 80 ilegen to liczb linii w coverze za niedługo muszę kończyć ............... tabbest to tablica 0 albo 1-jedynkowa tabrand to tablica kolejnych liczb w coverze |
2020-04-28 (21:12) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 946 [ CZCIONKA MONOSPACE ] if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break jeżeli napotkam sytuację gdy sześć tablic <> 0 to przerywam ale to za mało ......szybkie jest |
2020-04-28 (21:15) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 947 [ CZCIONKA MONOSPACE ] "lecimy szóstki od pierwszej do ostatniej" Wszystkie z v czy wszystkie z ilość linii*(k po 6) ? --- wpis edytowano 2020-04-28 21:17 --- |
2020-04-28 (21:21) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 949 [ CZCIONKA MONOSPACE ] wszystkie z v czyli wszystkie z os bo tu os=v for l1 := 1 to os - 5 do begin p[1] := l1; for l2 := l1 + 1 to os - 4 do begin p[2] := l2; for l3 := l2 + 1 to os - 3 do begin p[3] := l3; for l4 := l3 + 1 to os-2 do begin p[4] := l4; for l5 := l4 + 1 to os - 1 do begin p[5] := l5; for l6 := l5 + 1 to os do begin p[6] := l6; potem pętla [repeat] aż i osiągnie ilegen czyli ilegen=ile linii coveru czyli jak niżej i:=1; repeat --> czyli sprawdzamy czy 6-liczb <> 0 --> co oznacza że wszystkie 6-liczb w tablicy o-1 jedynkowej to 1,1,1,1,1,1 if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break else inc(maxtr); inc(i); until( maxtr>=ilegen) ; --- wpis edytowano 2020-04-28 21:23 --- |
2020-04-28 (21:25) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 950 [ CZCIONKA MONOSPACE ] ja wiem że powinienem przelecieć te co są i nadać im jakiś index a potem lecieć if index=0 ale tego nie zrobiłem |
2020-04-28 (21:26) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 951 [ CZCIONKA MONOSPACE ] Ja w swojej mam inny pomysł, który po przełożeniu na pascala może być interesujący A do tego korzystam tylko z jednej jednowymiarowej tablicy. Posługuję się adresami. |
2020-04-28 (21:28) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 952 [ CZCIONKA MONOSPACE ] no to string albo variant a zapisujesz pewnie wszystko jako string czyli może być też w excelu variant |
2020-04-28 (21:32) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 959 [ CZCIONKA MONOSPACE ] fair_play wszystko zależy od pomysłu czasami proste odwołanie załatwia wszystko a wiele dodatkowych ifów pogrąża czas obliczeń ja nie mogę Cię prosić o Twoje pomysły bo to Twoje autorskie rozwiązania. sam widzisz że validator ma gorsze czasy niż mój program ale ja nie zamierzam na tym zarabiać i chyba nawet to niemożliwe spytaj Pasko ile zarobił na oprogramowaniu, gdyby na to liczyć to byś........ umarł z głodu --- wpis edytowano 2020-04-28 21:35 --- |
2020-04-28 (21:36) fair_playData rejestracji: 2016-05-12 Ilość postów: 9076 | wpis nr 1 288 962 [ CZCIONKA MONOSPACE ] na razie byte adr0 = Application.WorksheetFunction.Combin(liczb, traf) ReDim maska(adr0) For y = 1 To zakładów 'Cells(1, 41) = y For x1 = 1 To skreśleń - 5 l1 = mat(y, x1) If liczb - l1 > 5 Then adr1 = adr0 - Application.WorksheetFunction.Combin(liczb - l1, 6) Else adr1 = adr0 End If For x2 = x1 + 1 To skreśleń - 4 l2 = mat(y, x2) If liczb - l2 > 4 Then adr2 = adr1 - Application.WorksheetFunction.Combin(liczb - l2, 5) Else adr2 = adr1 End If For x3 = x2 + 1 To skreśleń - 3 l3 = mat(y, x3) If liczb - l3 > 3 Then adr3 = adr2 - Application.WorksheetFunction.Combin(liczb - l3, 4) Else adr3 = adr2 End If For x4 = x3 + 1 To skreśleń - 2 l4 = mat(y, x4) If liczb - l4 > 2 Then adr4 = adr3 - Application.WorksheetFunction.Combin(liczb - l4, 3) Else adr4 = adr3 End If For x5 = x4 + 1 To skreśleń - 1 l5 = mat(y, x5) If liczb - l5 > 1 Then adr5 = adr4 - Application.WorksheetFunction.Combin(liczb - l5, 2) Else adr5 = adr4 End If For x6 = x5 + 1 To skreśleń l6 = mat(y, x6) adr6 = adr5 - (liczb - l6) maska(adr6) = 1 ' maska(adr6) = maska(adr6) + 1 Next Next Next Next Next Next Next brak = 0 For y = 1 To adr0 If maska(y) = 0 Then brak = brak + 1 Next gwarancja = (adr0 - brak) / adr0 mat() to maska zakładów, a traf to oczywiście 6 jeśli użyć zaremowanej linii maska(adr6) = maska(adr6) + 1 to mamy ilość poszczególnych krotności wystąpienia szóstki jednak ta tablica adresów ogranicza pamięć dlatego pytałem o binarne operatory, bo wtedy można listę adresów podzielić przez 8 (ilość bitów w bajcie --- wpis edytowano 2020-04-28 21:51 --- |
2020-04-28 (21:46) 777chData rejestracji: 2005-11-07 Ilość postów: 23259 | wpis nr 1 288 967 [ CZCIONKA MONOSPACE ] fair_play cokolwiek wkleisz dziś odpowiem dopiero jutro bo naprawdę ...... na dziś za chwilkę kończę --> z komputerem |
| | Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 ... 323 324 325 ... 561 562 Wyślij wiadomość do admina 🎱 MultiPairs 2027 – nowa wersja w przeglądarce, otwórz BETA |