Показать сообщение отдельно
  #20 (permalink)  
Старый 29.07.2012, 00:32
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

Сообщение от Dim@
всё ещё все думают по разному и у всех все разное Quo ire sunt?
И это очень хорошо. Чем больше возникает вариантов, тем шире поле для взаимодополнений и тем вероятнее, что в итоге образуется наилучшее решение.

Сообщение от oneguy
SplitNum(1, 3, 0) выдаёт [0, 1, 0] в 2 раза чаще, чем каждую из остальных 2 возможностей.
function SplitNum (sum, summands, min) {

  if (summands < 1 || summands * min > sum) { return []; }
  var i, range = sum - summands * min, points = [], result = [];
  for (i=0; i<summands-1; i++) { points[i] = Math.floor(Math.random() * (range + 1)); }
  points.push(0, range);
  points.sort(function (a, b) { return a - b; });
  for (i=0; i<summands; i++) { result[i] = points[i+1] - points[i] + min; }
  return result;
}

var counter = [0, 0, 0];

for (var i=0; i<10000; i++) {
  counter[SplitNum(1, 3, 0).indexOf(1)]++;
}

alert(counter);

OH, SHI~
__________________

Гейзенберг, возможно, читал этот тред.
Ответить с цитированием