#0
by МаленькийВопросик
Товарищи, подскажите алгоритм разбиения числа на N неравных частей огромное спасибо!
#1
by Fragster
делим на n равных, последнюю увеличиваем на 1%, предпоследнюю соответственно уменьшаем.
#3
by vova1122
Это как должно быть? Например число 50 разбить на 4+17+14+9+6. Сами чмсла прудумывать случайным образом или как?
#7
by aka AMIGO
Каждый остаток делить на 2. Вот и будет бездна неравных чисел. Применение таких чисел мне неизвестно.. Просто забивать голову. Или поупражняться в числах, и благополучно забыть.
#9
by Sapiens_bru
Доли должны получится целыми числами? Если нет: Делим число Х на N взаимно неравных долей. Чтобы доли были взаимно неравны возьмем любой конечный ряд в котором члены не равны друг другу. Например арифметическую последовательность от 1 до N. Это будут "веса" наших долей в итоговой сумме. Сумма ряда от 1 до N равна (N+1)*N/2 Первая доля Х*1/((N+1)*N/2) Вторая доля Х*2/((N+1)*N/2) Третья доля Х*3/((N+1)*N/2) ... Последняя Х*N/((N+1)*N/2) Их сумма даст искомое N, все доли взаимно не равны. При расчета алгоритма на компе нужно учитывать, что деление целых чисел идёт с округлением, поэтому последний член ряда нужно вычислять не по формуле, а как остаток от исходного числа после вычитания всех чисел ряда кроме последнего. Если итоговые числа должны быть целыми. Проверяем что X больше или равно (N+1)*N/2 , иначе предупреждаем что разбиение невозможно, так как арифметическая последовательность с шагом 1 это самый компактный способ размещения РАЗНЫХ целых чисел. Если Ч достаточно большое - считаем все доли как 1, 2, 3, и так далее до N-1 , а последний член ряда вычисляем отниманием от числа Х числа ((N+1)*N/2-(N-1))
#10
by Sapiens_bru
очепятка. Строку "Их сумма даст искомое N, все доли взаимно не равны." читать как "Их сумма даст исходное X, все доли взаимно не равны."
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Отключить безопасный режим при запуске внешней обработки
- ЗУП (базовая) вылетает
- Не срабатывает группировка в СКД внутри набора данных - запрос
- Отчет скд ИТОГИ
- Отчет без СКД, отбор
- Подключение онлайн-кассы Штрих к УТ 11.3
- Frontol и Розница обмен
- Обновить конфигурацию поставщика, не трогая основную
- Принтер этикеток TSC TDP 225 и 1С Розница 2.2 базовая
- Привилегированный модуль с вызовом на сервере не виден из модуля обработки, ОФ
- Адресное хранение ут11.3
- Обновление формы через F5
- При отправке письма с Zabbix ошибка Login denied:'
- Поле форматированного документа, копи-паст и Ubuntu
- УПП 1.3 Не заполняется часть 2 журнала учета счетов-фактур
- БП 3.0. У пользователя пропала кнопка "Сохранить" в печатной форме документа
- вопрос по ERP 2.4
- Не работает ОбновитьНумерациюОбъектов
- Конвертация Данных 3.0
- 8.3 Расширение. Обращение к объектам.