Witam,
w swoim programie korzystam ze wszystkich możliwych k-elementowych wariacji z powtórzeniami ze zbioru {0, 1}. Innymi słowami - wszystkie możliwe słowa binarne o długości k.
Np. dla k = 6 wyznaczam je za pomocą tego kodu:
var informationWords =
from b1 in new int[] { 0, 1 }
from b2 in new int[] { 0, 1 }
from b3 in new int[] { 0, 1 }
from b4 in new int[] { 0, 1 }
from b5 in new int[] { 0, 1 }
from b6 in new int[] { 0, 1 }
select new int[] { b1, b2, b3, b4, b5, b6 };
Dla innych k muszę ręcznie dodawać lub odejmować klauzule from i elementy w tablicy pod select. Zależy mi na tym, żeby robić to dynamicznie, w zależności od k. Czy jest taka możliwość? Znalazłem bibliotekę Dynamic Linq Library, ale z tego co widzę, to pozwala ona tylko na modyfikację klauzul select i where (chyba że się mylę). Wygląda na to, że pozwoliłaby mi rozwiązać problem z select, ale dalej zostaje from. Czytałem także o Expression Trees, ale niezbyt wiem jak tego tutaj użyć i czy w ogóle się da.
Próbowałem podejść także do tego od nieco innej strony - najpierw wygenerować listę k zero-jedynkowych tablic, a następnie uzyskać taki efekt jak wyżej, ale niestety nie udało się. Proszę o jakąś podpowiedź. :)