Дополню/проспойлерю предыдущее, раз уж написал. Метод пристального взгляда:
Код:
00000 5
00001 4 1
00010 3 1 1
00011 3 2
00100 2 1 2
00101 2 1 1 1
00110 2 2 1
00111 2 3
01000 1 1 3
01001 1 1 2 1
01010 1 1 1 1 1
01011 1 1 1 2
01100 1 2 2
01101 1 2 1 1
01110 1 3 1
01111 1 4
А если перечислять числа по-другому, может получиться более приличное для какого-то практического приложения перечисление композиций (по аналогии с применениями кодов Грэя, хотя сами коды Грэя вроде тут пользы не принесут). Однако тогда считать их по желанию будет дольше.
В перечислении в порядке 5, 4 1, 3 2, 3 1 1, 2 3, 2 2 1, 2 1 2, 2 1 1 1, 1 4, 1 3 1, 1 2 2, 1 2 1 1, 1 1 3, 1 1 2 1, 1 1 1 2, 1 1 1 1 1, наоборот, можно легко получать следующую композицию по предыдущей довольно прозрачным образом без необходимости хранить или вычислять её номер.