Wpis z mikrobloga

Elo. Załóżmy że mam n-elementowy zbiór (listę) i muszę z niej policzyć możliwe k-elementowe kombinacje bez powtórzeń. Np dla
n = {1,2,3,4,5,6} i k = 3 będzie to {1,2,3 }; {1,2,4}; {1,2,5};{3,4,6} etc. Elementy zbioru nie mogą się powtarzać {1,1,2} == błąd.
O ile policzenie ilości kombinacji jest stosunkowo proste (n!) / (k!(n-k)) , to jak je wszystkie uzyskać i zapisać jako osobną listę?
#programowanie #java #algorytmy #matematyka #naukaprogramowania
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

właśnie, niesprecyzowałem.

zbiory są równe jeśli zawierają te same elementy. Nie chodzi mi o derangement (nieporządek chyba)


@Przegrywek123: no to jezeli mniej niz 64 elementy to zwykle bity. Czyli np. 64 liczby to caly long(czyli w chu ) i sprawdzasz bity i bit mowi o tym czy liczba jest w zbiorze czy nie
  • Odpowiedz
@Przegrywek123: (jestem na imprezie wiec w skrocie)masz np. 5 elementow na wejsciu, czyli 5 bitow. Czyli mozliwe 32 zbiory( jezeli pusty to tez zbior).

No to zwykla iteracja od zera(albo jedynki)

O kurcze zrabalem nie zauwazylem, ze k elemntowe myslalem ze wszystkie. (No tak impreza :/ ) no dobra widze ze ktos ci napisal jakas odpowiedz.
  • Odpowiedz