Policzyc pary liczb

0

Witam serdecznie, pisze sobie maly programik do lotto (na uzytek wlasny)
i mam problem, chcialbym policzyc czestosc wystepowania, <ort>jakis </ort>par liczb.
No ale ... nie wiem za bardzo jak sie zabrac. Przeciez jak bym mial najpierw je wszystkie wypisac do tablicy (jakis typ rekordowy zeby bylo latwiej) to tego jest STRASZNIE duzo ... mam nadzieje ze dobry wzor <ort>wzielem </ort>-> 80! / 2!*78! ?? jesli zly i ma byc inaczej prosze o pomoc.

pozdrawiam serdecznie ..

0

wzor jak wzor ale par jest 'tylko' 3160 wiec tablice mozna spokojnie zrobic a pozniej lecisz dla kazdej parki po kazdym losowaniu i sprawdzasz czy wystapila, to jest bardzo latwe, sam sie o tym przekonasz jak to zrobisz :)

0

dawno mialem kombinatoryke i gdzies mi sie tablice zapodzialy :P ale wzor

80! / 2!*78

to chyba na wariacje z powtorzeniami jest :> nie wiem za bardzo o co ci chodzi z tymi liczbami, ale jesli jest x liczb i kazda wystepuje raz, to czestosc pojawienia sie kazdej pary jest taka sama! bo np, ze wylosuje "11" prawdopodobienstwo dla x=80 wynosi 1/80, a dla drugiej liczby do pary prawdopodobienstwo wynosi 1/79, ale gdyby odwrotnie losowac to i tak prawdopodobienstwo wystapienia tej pary byloby takie same :></quote>

0

Znowu ja znalazlem to na 4progr. http://4programmers.net/article.php?id=139 i jest tam ten wzor ktory zastosowale, wiec chyba moge to zastosowac :) ... co sadzicie ...

...a mam jeszcze jedno pytanko ... ale to juz kompletnie nie wiem co i jak zrobic :(, bo wpadlem na pomysl, zeby policzyc co jaki najwiekszy odstep bez wylosowania miala liczba, ale kurde jak :).

Bo mam tytp
Statystyka = record
Numer:integer; //po prostu jaka lczba 1-80
Ilosc:integer ; //ile razy wylosowana
procent : real // no to procent .... ilos / losowa(zmienna glowna w programie)

no i mam procedure polic - kotra mi to liczy wszytklo, w zaleznosci dla kolku lub wszytkich losowan.

I jak jeszcze policzyc najw. odstep .... :)

pozdrawiam
</url>

0

Sprobuj moze tak:
Lecisz po tablicy losowan u szukasz pierwszego wystapienie tej liczby. To jest twoja podstawa (numer losowania w ktorym pierwszy raz wystapilo). Potem lecisz dalej i szukasz nastepnego z kazdym krokiem zwiekszajac jakis tam licznik o jeden (przy poprzednim wystapieniu liczby bylo 0) Jak znajdziesz to porownujesz z poprzednia odlegloscia i zapisujesz wieksza. I lecisz tak do konca tablicy...

Nie jest to zbyt optymalne bo ma zlozonosc O(n*m) (n ilosc liczb do sprawdzenia, m ilosc losowan), ale chyba nie zalezy ci na szybkosci algorytmu

Moglbys zrobic to szybciej poprzez tablice najdl_odstep: array of integer (i-ty element tablicy oznacza najdluzszy odstep dla liczby i). Wtedy z kazdym krokiem odwolujesz sie do konkretnego elementu tablicy , co troche przyspieszy dzialanie, bo sprawdzasz talbice losowan tylko raz (ale wolniej)</quote>

1 użytkowników online, w tym zalogowanych: 0, gości: 1