Глубокоуважаемые пидоры и пидорессы!
Мозг кипит, глаза плывут, тошно и грустно.
Стоит у меня задача получить ряд случайных чисел, из которых можно получить необходимое известное среднее арифметическое.
Я пошёл тупым путём. Взял число, прикинул от него нужный диапазон, +-5, получившийся интервал засунул в генератор случайных чисел, установив в настройках, что чисел должно быть нужное количество, например 10, потом выданные мне десять чисел засунул в онлайн-калькулятор среднего арифметического и так повторял, пока среднее арифметическое не совпало с первым числом. Заняло это тупое кликанье минут 40. А подобных результатов мне нужно более десятка.
Я пробовал найти подобные формулы, генераторы, но получилось найти подобное только на одном из форумов посвящённому экселю, но там надо переписывать формулы расчётов под необходимое число случайных цифр, что при моём знании того же экселя всё сломало.
Возможно, мой интеллект крайне низок для такой задачи, поэтому обращаюсь к вам.
Задача кратко на основе примера: Есть среднее арифметическое 10. Есть допустимые интервалы значений от 8 до 12. Нужно сгенерировать двадцать чисел, среднее арифметическое из которых будет равным 10.
для удобства вычислений я бы еще вынес смещение за скобки. То есть рандом не 8..12, а 8+рандом 0..4
Я нихуя не понял :(
Придумывать алгоритмы это, конечно, хорошо (я бы просто раскидал сорок единиц по двадцати корзинам, выбирая случайную из не полных), но автор и экселя не осилил, так что реализовать алгоритм не сможет.
Да, согласен
Так проще справиться с нижними и верхними границами числа
Так проще справиться с нижними и верхними границами числа
слухай, если ты прошел мимо стаковерфлоу или допустим гугла, то это не твое?
Почему бы не поразвлекать местных пидоров и пидоресс? В сухих и официальных источниках сухие решения.
Это не имеет отношения к программированию, и программирование точно не моё, да
смешная математика ..
Зачем тебе это надо вообще, наркоман ебаный
https://www.w3schools.com/code/tryit.asp?filename=GLCK4X0YXO2C
https://www.w3schools.com/code/tryit.asp?filename=GLCK4X0YXO2C
Ступил с рандомом, вот так корректнее
https://www.w3schools.com/code/tryit.asp?filename=GLCKE3VUF2EL
https://www.w3schools.com/code/tryit.asp?filename=GLCKE3VUF2EL
Спасибо, я верю что это круто и отвечает задаче, но я не программист, прогу не пишу и ничего в коде не понимаю.
Все, что тебе нужно, нажать Run, а потом Generate. Ну и менять requiredAverage, delta, numbersAmount в соответствии с задачей
Ебать ты крутой! Спасибо!!!
сука не зря говорят фронтедщик не человек, для таких как ты в аду отдельный дилдак наточен
Какая задача, такое и решение. Со своим псевдослучайным массивом лучше бы молчал
ну ты же не такой тупой мудак каким кажешься? ты ж в курсе что всеслучайные массивы в программировании псевдоуслучайные?
Одно дело псевдослучайные значения и другое - ни хуя не случайный массив
можешь обьяснить почему массив созданый функцией случайных чисел не случайный массив?
Предложи решение, заокдить которое можно за те же три минуты и которое все еще будет выдавать не подогнанный рандом? (в твоем симметричном массиве ниже рандомом и не пахнет, [11, 11, 8] он не сгенерит никак)
Больше времени на запросы рандомов в интернете тратить не комильфо
И то минуту из трех я пытался понять что перепутал порядок аргументов в редьюсе, жс вижу раз в год
Больше времени на запросы рандомов в интернете тратить не комильфо
И то минуту из трех я пытался понять что перепутал порядок аргументов в редьюсе, жс вижу раз в год
ну вот еще одно доказательство, что вам лишь бы на ганвокодить - кто тебя ограничил в 3 минуты?
Ты же просто берешь и 10 тысяч раз рандомно подбираешь цыфры. Ладно тебе не жалко вычислительного ресурса. Но что если он за все 10к итераций не сможет подобрать комбинацию?
программа обосрется?
Ты же просто берешь и 10 тысяч раз рандомно подбираешь цыфры. Ладно тебе не жалко вычислительного ресурса. Но что если он за все 10к итераций не сможет подобрать комбинацию?
программа обосрется?
> программа обосрется?
О боже мой, totktonada придется нажать кнопку дважды. Да как так то?!
О боже мой, totktonada придется нажать кнопку дважды. Да как так то?!
А что это за аргумент?
"ну я насрал вам код потому что я только минуту над этим думал и вот смог только это и смог родить"
Мать, ну сядь, подумай, человек ведь попросил совета, алгоритма внятного.
Ну наплевал ты ебаторию на 10000 итераций, а теперь расказываешь что это хорошо потому ты жсом и не пользуешься?
Ну так поди ты нахуй тогда, или дай осмысленый ответ или нехер отмазываться что ты вобще то умный, но сегодня взял выходной
"ну я насрал вам код потому что я только минуту над этим думал и вот смог только это и смог родить"
Мать, ну сядь, подумай, человек ведь попросил совета, алгоритма внятного.
Ну наплевал ты ебаторию на 10000 итераций, а теперь расказываешь что это хорошо потому ты жсом и не пользуешься?
Ну так поди ты нахуй тогда, или дай осмысленый ответ или нехер отмазываться что ты вобще то умный, но сегодня взял выходной
>10к итераций
break видишь, что он делает знаешь? На приведенных ОПом значениях алгоритм почти гарантированно укладывается в ~50 циклов. 10к итераций поставлено как фейлсейф от зависания на неподходящих к алгоритму инпутах (большой разброс прежде всего, до +- 1к этого хватает).
Конкретную задачу алгоритм решает быстро (задача ОПа занимает до 0,2мс, 100 элементов с +-100 разбросом занимает до 30мс). Даже однопоточный сраный js выдает 5к запросов в секунду на конкретной задаче. А ОП вообще вручную потом что-то делает с этим массивом, ему что 0.1мс, что 500мс погоды не сделают, и качество кода ему тоже по барабану, лишь бы задачу решал. А ты пиши дальше красивый код ради красивого кода.
Ну и да, мой алгоритм при этом выдает корректный результат :3
break видишь, что он делает знаешь? На приведенных ОПом значениях алгоритм почти гарантированно укладывается в ~50 циклов. 10к итераций поставлено как фейлсейф от зависания на неподходящих к алгоритму инпутах (большой разброс прежде всего, до +- 1к этого хватает).
Конкретную задачу алгоритм решает быстро (задача ОПа занимает до 0,2мс, 100 элементов с +-100 разбросом занимает до 30мс). Даже однопоточный сраный js выдает 5к запросов в секунду на конкретной задаче. А ОП вообще вручную потом что-то делает с этим массивом, ему что 0.1мс, что 500мс погоды не сделают, и качество кода ему тоже по барабану, лишь бы задачу решал. А ты пиши дальше красивый код ради красивого кода.
Ну и да, мой алгоритм при этом выдает корректный результат :3
качество кода ему действительно по барабану.
Он попросил алгоритм, логику как это можно реализовать.
Твой алгоритм по сути это посадить обезьяну которая будет нажимать по кнопке рандома, пока случайным образом не получит подходящий результат.
Он попросил алгоритм, логику как это можно реализовать.
Твой алгоритм по сути это посадить обезьяну которая будет нажимать по кнопке рандома, пока случайным образом не получит подходящий результат.
Просто придумай эти свои 20 "случайных" чисел сам. Да так чтобы они удовлетворяли условию и выглядели будто они случайные. Все равно результат не будет отличаться от того, что если бы ты честно генерировал "настоящие" случайные яисла.
Это было бы просто, будь необходимое число чисел 5-10, но их до сотни доходит.
Будь мужиком, просто докажи небольшую теорему, что такие последовательности существуют, не приводя примеров.
Потому как только ты напишешь последовательность на бумаге, она перестанет быть случайной
Ебать че я придумал. Берешь 80 жетонов, из них 40 синих, 40 красных. Случайно тянешь по 4 штуки. Количество синих жетонов в кучке - искомое число в номере. Потом к каждому прибавляешь 8, получаешь что хотел.
Как это алгоритмизировать? Берешь эксель, 40 ячеек с 1, 40 ячеек с 0. Перемешиваешь экзелевской функцией, делишь столбик по 4 клетки, суммируешь. Ебать я мозг.
Как это алгоритмизировать? Берешь эксель, 40 ячеек с 1, 40 ячеек с 0. Перемешиваешь экзелевской функцией, делишь столбик по 4 клетки, суммируешь. Ебать я мозг.
Пусть нужно сгенерить 7 чисел СА которых = 10. Диапазон 8..12
- Берешь список состоящий из нужного среднего числа длинной заданой в условии.
[10, 10, 10, 10, 10, 10, 10]
- Генеришь список случайных чисел половины длинны (в меньшую сторону - 7/2 = 3)
[8,11,9]
- Преображаешь его в список разницы между СА и каждым элементом (10 - n)
[2, -1, 9]
- Теперь сука внимательно:
первый элемент разничного списка добавляешь к первому элементу первичного списка. И его же отнимаешь от последнего.
Второй елемент разничного добавляешь ко второму элементу первичного и отнимаешь от предпоследнего элемента первичного. И так ты идешь с двух концов и встречаешься посрединке.
-И в финале мешаешь первичный список чтобы избавится от симметрии
- Берешь список состоящий из нужного среднего числа длинной заданой в условии.
[10, 10, 10, 10, 10, 10, 10]
- Генеришь список случайных чисел половины длинны (в меньшую сторону - 7/2 = 3)
[8,11,9]
- Преображаешь его в список разницы между СА и каждым элементом (10 - n)
[2, -1, 9]
- Теперь сука внимательно:
первый элемент разничного списка добавляешь к первому элементу первичного списка. И его же отнимаешь от последнего.
Второй елемент разничного добавляешь ко второму элементу первичного и отнимаешь от предпоследнего элемента первичного. И так ты идешь с двух концов и встречаешься посрединке.
-И в финале мешаешь первичный список чтобы избавится от симметрии
Да, так тоже получается. Благодарствую
Чтобы написать коммент, необходимо залогиниться
Представь эту сумму как отрезок от 0 до X и дроби ее случайным образом на n участков. Длина этих участков и будет твоими числами