IntegerPartitions

IntegerPartitions[n]

gives a list of all possible ways to partition the integer n into smaller integers.

IntegerPartitions[n,k]

gives partitions into at most k integers.

IntegerPartitions[n,{k}]

gives partitions into exactly k integers.

IntegerPartitions[n,{kmin,kmax}]

gives partitions into between kmin and kmax integers.

IntegerPartitions[n,kspec,{s1,s2,}]

gives partitions involving only the si.

IntegerPartitions[n,kspec,sspec,m]

limits the result to the first m partitions.

Details

Examples

open allclose all

Basic Examples  (1)

All partitions of 5:

Scope  (3)

Partitions of 8 into at most 3 integers:

Partitions of 8 into exactly 3 integers:

Find all partitions of 8 that involve only 1, 2, and 5:

Generalizations & Extensions  (4)

Find partitions of 6 of even length only:

Find ways to form 3 from combinations of rational numbers:

Find partitions involving negative numbers:

Find the first 10 partitions of 15:

Find the last 3 partitions of 15:

Applications  (2)

Find the ways to make change for 156 cents with 10 or fewer standard coins:

Find "McNugget partitions" for 50:

Find the number of "McNugget partitions" for numbers up to 50:

Show integers that are not "McNuggetable":

The last case is exactly the corresponding Frobenius number:

Properties & Relations  (4)

Each sublist adds up to the original number:

The length of IntegerPartitions[n] is PartitionsP[n]:

IntegerPartitions gives results in reverse lexicographic order, not Sort order:

For integers below 10, generate IntegerPartitions order by converting to strings:

FrobeniusSolve gives coefficient lists for IntegerPartitions:

Possible Issues  (3)

IntegerPartitions cannot give an infinite list of partitions:

There are no integer partitions of 1/2:

There are, however, partitions into rationals:

If all items requested by the fourth argument are not present, a warning message is issued:

To suppress the message, use Off:

Introduced in 2007
 (6.0)
 |
Updated in 2008
 (7.0)