# IntegerPartitions

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 • Results from IntegerPartitions are normally given in reverse lexicographic order.
• Length[IntegerPartitions[n]] is PartitionsP[n].
• is equivalent to .
• IntegerPartitions[n,{kmin,kmax,dk}] gives partitions into kmin, kmin+dk, integers.
• n and the si can be rational numbers, and can be negative.
• In the list of partitions, those involving earlier si are given last.
• IntegerPartitions[n,kspec,sspec,-m] limits the result to the last m partitions.
• In , a kspec of All corresponds to {0,Infinity}; an sspec of All corresponds to Range[n]; an m of All corresponds to Infinity.

# 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 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)