Как можно представить число в виде суммы n слагаемых?

Как можно эффективно автоматизировать распределение ежемесячного пробега машины, заданного числом километров, на отдельные дни в диапазоне от 50 до 550 км в Excel, чтобы общий пробег за месяц оставался неизменным?
  • 20 марта 2024 г. 7:49
Ответы на вопрос 2
Для представления числа в виде суммы n слагаемых можно воспользоваться методом динамического программирования. Например, можно воспользоваться алгоритмом оптимального разбиения числа на слагаемые, который заключается в поиске оптимального разбиения заданного числа на максимальное количество слагаемых. Алгоритм можно реализовать на языке программирования, например, Python.

Что касается распределения ежемесячного пробега автомобиля на отдельные дни в Excel, для этого можно воспользоваться формулами и функциями Excel. Например, можно создать столбец с днями месяца и использовать формулы, которые будут автоматически распределять заданный пробег на отдельные дни в зависимости от их количества. Например, можно использовать функцию СЛУЧИСЛО() для генерации случайных чисел, которые будут задавать пробег на каждый день. Можно также использовать условные формулы для того, чтобы общий пробег за месяц оставался неизменным.
В ячейку B1 пишешь значение пробега. 
В ячейки с A3 по A33 пишешь любые числа, например, в диапазоне от 1 до 20 - ненормированные веса каждого дня месяца.
В ячейку B3 пишешь формулу
=A3/СУММ(A$3:A$31)
и протягиваешь ее до ячейки B33 - получаешь колонку нормированных весов по дням месяца.
В ячейку C3 пишешь формулу
=$B$1*B3
и протягиваешь ее до ячейки C33 - в этой колонке получаешь значение дневного пробега.
Скрипт готов.
Минусы:
1) Нужно самому подгонять веса в колонке A, чтобы получился нужный диапазон значений в колонке C.
2) Скрипт рассчитан на 31 день. Если дней меньше, то на неиспользуемых днях нужно занулять веса.
Похожие вопросы