Получить все возможные суммы, которые добавляют до заданного номера

Я делаю математическое приложение для Android. В одном из этих полей пользователь может войти int (без цифр и выше 0). Идея состоит в том, чтобы получить все возможные суммы, которые делают это int, без двойных (4 + 1 == 1 + 4 в этом случае). Единственное, что известно, что это один int.

Например:

скажем, пользователь входит 4, я хотел бы приложение вернуть:

  • 4
  • 3 + 1
  • 2 + 2
  • 2 + 1 + 1
  • 1+ 1 + 1 + 1

Очевидно, 4 == 4, так что следует также добавить. Любые предложения относительно того, как я должен делать это?

8
задан Ashkan Aryan 9 September 2011 в 14:08
поделиться