![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 26.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam pewien problem i utknąłem w jednym punkcie. Mam 20 unikalnych wartości (np. id obiektu), każdą z tych wartości muszę wybrać dokładnie 15 razy. Daje mi to 300 elementów do przydzielenia do 60 "kontenerów" (liczba kontenerów jest ustalona z góry). Każdy kontener ma 8 miejsc, z czego tylko jedno musi być wypełnione, pozostałe miejsca będą wypełniane według podanych parametrów (np. 4 kontenery z 1 elementem, 5 kontenerów z 2 elementami, 7 kontenerów z 3 elementami etc.) Problem pojawia się w tym punkcie - muszę zadbać o to by rozłożenie elementów do kontenerów było w miarę unikalne tzn. żeby nie było takiej sytuacji że elementy o id=1 oraz id=2, trafią 12 razy do wspólnego kontenera itp. Wszelkie pomysły jak to rozwiązać mile widziane. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Kod var uniqNum = 20; var times = 15; var res = []; var shuffle = function(arr){ return arr.sort(function(){ return Math.random()*2&1; }); }; for (var i = 0; i < uniqNum; ++i) { var j = times; do { res.push(i); } while (--j); } res = shuffle(res); console.log(res.join(',')); Kod 10,19,19,0,19,0,19,0,0,19,0,19,0,19,19,1,1,1,19,1,18,18,1,18,18,1,1,1,1,18,18,2,
18,2,18,18,17,17,2,17,17,2,17,2,2,17,16,16,3,3,16,16,16,3,16,3,16,16,16,16,4,4,4 , 15,4,15,15,15,4,4,4,15,15,4,4,5,15,5,15,14,5,14,5,5,5,14,5,5,5,14,14,14,6,14,6,6 , 6,13,13,13,6,6,6,13,13,7,7,13,13,7,13,12,12,12,12,7,12,7,12,7,8,12,11,11,8,11,8, 8 ,8,11,8,11,8,11,8,11,11,10,9,10,10,10,9,9,9,9,14,9,9,9,0,10,10,0,10,9,10,19,0,10 , 9,0,19,10,10,11,18,18,18,1,11,11,1,11,1,2,8,8,8,8,2,12,7,12,7,7,17,12,12,17,12,2 , 17,12,7,13,2,17,3,13,13,3,13,7,16,16,6,13,3,3,3,6,6,3,6,5,3,14,5,4,14,5,14,9,4,5 , 4,15,15,2,0,0,0,19,4,0,15,0,1,9,11,8,16,8,11,6,8,6,18,7,6,7,3,17,13,13,17,17,18, 4 ,15,7,10,15,10,9,19,4,12,2,6,16,2,14,11,14,1,18,14,17,3,3,15,3,19,1,16,12,19,10, 2 ,9,17,5,7,2,15,9,5,14 Ten post edytował flashdev 19.09.2013, 17:07:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 06:31 |