Skip to content

Latest commit

 

History

History
32 lines (30 loc) · 822 Bytes

README.md

File metadata and controls

32 lines (30 loc) · 822 Bytes

Generates partitions for positive interger

See Wikipedia for more info.

e.g. partitions of 8 are:

[
    [8],
    [7, 1],
    [6, 2],
    [6, 1, 1],
    [5, 3],
    [5, 2, 1],
    [5, 1, 1, 1],
    [4, 4],
    [4, 3, 1],
    [4, 2, 2],
    [4, 2, 1, 1],
    [4, 1, 1, 1, 1],
    [3, 3, 2],
    [3, 3, 1, 1],
    [3, 2, 2, 1],
    [3, 2, 1, 1, 1],
    [3, 1, 1, 1, 1, 1],
    [2, 2, 2, 2],
    [2, 2, 2, 1, 1],
    [2, 2, 1, 1, 1, 1],
    [2, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1]
]

Currently able to generate partions for 1..65 (after that it usually fails with out of memory exception).Number of partitions grows exponentially, it takes a lot of memory. Uses caching and can be optimized further to reduce memory footprint by several times.