Вывести все уникальные целочисленные разделы с целым числом в качестве ввода
Я решал задачу по программированию и столкнулся с проблемой, из-за которой я не смог удовлетворительно найти решение. Проблема заключается в следующем:
Print all unique integer partitions given an integer as input.
Integer partition is a way of writing n as a sum of positive integers.
например: Input = 4, тогда output должен быть Output =
1 1 1 1
1 1 2
2 2
1 3
4
Как я должен думать о решении этой проблемы? Мне было интересно об использовании рекурсии. Может ли кто-нибудь предоставить мне алгоритм для этого вопроса? Или намек на решение. Любое объяснение такого рода проблем приветствуется. (Я новичок в мире программирования) Спасибо!