Aktywne Wpisy
rozowymops +159
Właśnie po prawie 8 latach dowiedziałam się, że jestem zdradzana od ponad 1.5 roku. Rzuciłam dla niego wszystko, zostawiłam swoją rodzinę, pracę, wykształcenie i wyjechałam z nim za granicę żeby #!$%@?ć na naszą przyszłość. Byliśmy dla siebie pierwszymi w każdym możliwym względzie, idealny związek, najlepsi przyjaciele. Mieliśmy planować ślub. Moja rodzina traktowała go jak swojego syna, jak stracił wszystko to przyjęliśmy go pod swój dach. Byłam z nim w każdej, najgorszej chwili
michalpoprostu +47
Dobra, co może pójść nie tak?( ͡° ͜ʖ ͡°) Robię DŁUGOTERMINOWE #rozdajo
Zasady zabawy są proste. Dzisiaj jest 2.01.2024. Moja waga wskazuje 143,6 kg.
Za rok, czyli 2.01.2025 ponownie stanę na wagę. W komentarzu należy napisać jaką będę miał wagę za rok, czyli ile będzie na wadze 2.01.2025. Osoba która trafi jaką będę miał wagę, bądź będzie najbliżej, wygrywa. Podawać proszę wagę z jedną cyfrą po przecinku. Jeżeli
Zasady zabawy są proste. Dzisiaj jest 2.01.2024. Moja waga wskazuje 143,6 kg.
Za rok, czyli 2.01.2025 ponownie stanę na wagę. W komentarzu należy napisać jaką będę miał wagę za rok, czyli ile będzie na wadze 2.01.2025. Osoba która trafi jaką będę miał wagę, bądź będzie najbliżej, wygrywa. Podawać proszę wagę z jedną cyfrą po przecinku. Jeżeli
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
Komentarz usunięty przez moderatora
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
@LowcaG: możesz szerzej opisać? Tzn nie wiem w dalszym ciągu jak utworzyć z tej kombinacji nową tablicę.
kombinacjetab = []
k = 3
wyznaczpermutacje(elementidx, zbior):
if |zbior| == k:
kombinacjetab.add(zbior)
if elementidx == k:
return
nowyzbiorzelementem = zbior.copy()
nowyzbiorzelementem.add(elementytab[elementidx])
wyznaczpermutacje(elementidx+1, zbior)
wyznaczpermutacje(elementidx+1, nowyzbiorzelementem)
wyznaczpermutacje(0, [])
Coś w tym stylu powinno zadziałać. Przy czym ma to sporą złożoność (O(2^k))
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.
edit: wyznaczpermutacje powinno nazywać się wyznaczkombinacje oczywiście,
a zamiast if elementidx == k powinno być if elementidx == |elementy|
https://github.com/vavr-io/vavr/blob/master/vavr/src/main/java/io/vavr/collection/List.java#L1951
Doszedłem już do wypisania tych kombinacji, ale się powtarzają xD Zrobię to aproksymacyjnie, bo brute-force mnie przerasta XD
https://www.sanfoundry.com/java-program-generate-all-possible-combinations-given-list-numbers/
Zamiast do listy dodawaj je do setu który na końcu zmień na listę