Tuesday, March 04, 2008

n elem k-ad osztályú ismétléses kombinációinak előállítása

Ma pár órát elvett az életemből ez a probléma, pedig elég egyszerű a megoldása. Logikából mindenki megtanulta hogyan lehet felírni kézzel gyorsan:

1   11  111
1 11 110
1 10 101
1 ->10->100
0 01 011
0 01 010
0 00 001
0 00 000


Ugyanezt algoritmikusan előállítani:


i:=1 -> n^k
j:=1 -> k
permutacio[i][j] := elemek[i / n^(j-1) mod n];


Hogy mihez kellett ez? k szóra keresni (ÉS kapcsolattal) az adatbázis n mezőjében, azaz ehhez előállítani a megfelelő feltételeket. Jól esett most ez a probléma, eléggé agysorvasztó volt az utóbbi pár nap folyamatos bugfixelés/customizálás.

No comments: