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