Разделить число на компоненты суммы

Есть ли эффективный алгоритм для разделения числа на N подразделов так, чтобы сумма чисел складывалась с исходным, с базовый минимум? Например, если я хочу разделить 50 на 7 подразделов и иметь базовый минимум 2, я могу сделать 10,5,8,2,3,5,17 (а также любое другое число комбинаций). Я хотел бы сохранить числа как целые и относительно случайные, но я не уверен, как эффективно генерировать числа, которые суммируются с исходным и не включают числа ниже заданного минимума. Есть предложения?

РЕДАКТИРОВАТЬ - Просто чтобы скопировать / вставить мой комментарий, целые числа не обязательно должны быть уникальными, но я хочу избегать равных размеров для всех из них (например, 50 разделенных на 10 равных размеров) каждый раз.

15
задан Skoder 16 October 2011 в 23:56
поделиться