On 21 Sep 99 at 19:32, wrote:
> Találj egy elrendezést ahol ennek a valamelyest nagyocska gabona tehernek a
> súlyvonala annyira esik közel a sakktábla középpontjához amennyire az csak
> lehetséges, vagyis találd meg az elérheto legjobb egyensúlyt.
Nem volt kedvem nagyon elmeleti matekoskodni, ugyhogy egy
gyakorlatias modszert talaltam ki:
Abbol indulnek ki, hogy szumma[i=0..n](2^i)=2^(n+1)-1 vagyis az elso
63 buzaoszlop osszsulya 1 szem buzatol eltekintve ugyanannyi, mint az
utolsoe. Az elso 63-at leraknam sorban, a legelso kockat kihagyva.
Igy a tabla also felen keves buza lenne, a felso felen pedig sok.
Ennek az elrendezesnek kiszamolnam pontosan a sulypontjat (bal also
sarokkocka kozepe a 0,0 pont) :
Xs=szumma[i=0..62](Xi*2^i)/(2^63-1), ahol Xi=(i+1) mod 8
Ys=szumma[i=0..62](Yi*2^i)/(2^63-1), ahol Yi=(i+1) div 8
Aztan az Xs,Ys pontot tukroznem a kozeppontra: Xt=7-Xs, Yt=7-Ys. Ha
ebbe a pontba lehetne tenni a 2^63 sulyu buzaoszlopot, akkor (1 szem
buzatol eltekintve) tokeletesen ki lenne egyensulyozva a tabla.
Sajnos ez a koordinata valoszinu nem egesz szam lesz, ugyhogy
kerekiteni kell egeszre. Ott van mar valamennyi buza eddig is,
viszont nem tul sok (mert a tukorpont a keves buzat tartalmazo
oldalra esik). A buzaoszlopokat ettol a kockatol kezdve
visszacsusztatnam eggyel, es ide raknam a 2^63 darabot. (Az egesz
koordinata mellet a visszacsusztatas is kicsit bezavar, de mivel ott
csak kis magassagu oszlopok vannak, nem sokat. Ha meg kigyovonalban
raktuk volna le eredetileg, meg kevesebbet...)
Ettol lehet jobb elrendezest is csinalni, de kiindulasnak valoszinu
eleg jo. Ugyhogy ez utan jonne nehany iteracios lepes, amiben nehany
viszonylag kis sulyu buzaoszlopot felcserelnek masik kis sulyuval,
mindig ugy, hogy az uj elrendezes sulypontja kozelebb legyen a
kozepponthoz. Ha nem torekszunk a tokeletessegre, akkor ez is
meguszhato meglehetosen keves szamolassal.
Mindezekhez a szamolasokhoz legalabb 66 bites aritmetikara van
szukseg.
István
-- Istvan Marosi -- http://www.sch.bme.hu/~marosi --
-- Recosoft Ltd. -- mailto: --
|
>Hali!
>Az a kerdesem, hogy van-e olyan progi, ami "rezidensen" csucsul
>es figyeli, hogy az elinidotott masik prg. milyen DLL fileket
>(akarna) megnyitni? Ha van ilyen, hol lehet hozzaferni?
>Oprendszer Win95 OSR2....
>(Elegem van a Bad or Missing DLL file hibauzenetekbol...:-(( )
_________________________-
Pl : FileMonitor
talalhato : hambo.163.net es sok mas crack-hack lapon.
GAndalf
|
>TMemo-ba irok ki adatokat a kovetkezo modon:
>Memo1.Lines.Text := Memo1.Lines.Text + SDATA + #13;
>Az SDATA valtozo csak valamilyen String-et tartalmaz.
>Ha a Memo betelik es meg irok hozza szoveget,
>akkor az elso sort mutatja, nem pedig az utolsot.
>Hogyan lehet ezen segiteni?
SendMessage(Memo.Handle,EM_SCROLLCARET,0,0);
Gabor
|