Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите написать числовую функцию (https://javascript.ru/forum/misc/30242-pomogite-napisat-chislovuyu-funkciyu.html)

Dim@ 28.07.2012 23:23

oneguy,
иш какой а :D куда ни глянь ты придешь скажешь есть такие то спецификации и такой-то метод, плюс какие то странные примеры делаешь (я про данный), может быть тебе в интел идти работать - там как раз для случайных чисел делают генератор:lol:

Dim@ 28.07.2012 23:24

oneguy,
делай пожалуйста с комментариями код, а то не понятно ничего:)

Dim@ 28.07.2012 23:35

oneguy,
Дзен-трансгуманист,
ошибся melky всё ещё все думают по разному и у всех все разное :) Quo ire sunt?

oneguy 28.07.2012 23:57

Цитата:

Сообщение от Dim@
oneguy,
делай пожалуйста с комментариями код, а то не понятно ничего

Вообще-то я не очень хороший комментатор кода, но я добавил один комментарий комментарии, так более понятно?
Цитата:

Сообщение от Дзен-трансгуманист
Хотя наши решения немножко отличаются.

Да, отличаются, и не в вашу пользу :lol: У вас результаты могут выпадать не с одинаковой вероятностью. Например, SplitNum(1, 3, 0) выдаёт [0, 1, 0] в 2 раза чаще, чем каждую из остальных 2 возможностей.

melky 29.07.2012 00:05

у всех сделано через Math.random... кто сможет сделать это через композиции ?)

Цитата:

Сообщение от Dim@
ошибся melky всё ещё все думают по разному и у всех все разное Quo ire sunt?

что ?)

oneguy 29.07.2012 00:08

Цитата:

Сообщение от melky
у всех сделано через Math.random... кто сможет сделать это через композиции ?)

Вы предлагаете следать без Math.random, написать свой генератор случайных чисел?

Deff 29.07.2012 00:09

мон через % и текущий тайм - но задачка с ограниченой инварьятностью целочисленных решений... простое число делицо ток само на себя, что сбивает весь рандом

melky 29.07.2012 00:13

Цитата:

Сообщение от oneguy
Вы предлагаете следать без Math.random, написать свой генератор случайных чисел?

было бы неплохо, но нет :) я видел пример на паскале, где эту задачу решают без рандома.

oneguy 29.07.2012 00:29

Цитата:

Сообщение от melky
я видел пример на паскале, где эту задачу решают без рандома.

Интересно, как без рандома? Ведь требуется вывести случайный результат из множества возможных. Покажите пример на Паскале без рандома :)

Дзен-трансгуманист 29.07.2012 00:32

Цитата:

Сообщение от 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~ :D


Часовой пояс GMT +3, время: 17:51.