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.
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].
- IntegerPartitions[n] is equivalent to IntegerPartitions[n,All].
- 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 IntegerPartitions[n,kspec,sspec,m], 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 all close allBasic Examples (3)
Scope (6)
IntegerPartitions[8]Partitions of 8 into at most 3 integers:
IntegerPartitions[8, 3]IntegerPartitions[8, {1, 3}]Partitions of 8 into exactly 3 integers:
IntegerPartitions[8, {3}]Find partitions of 8 of even length only:
IntegerPartitions[8, {2, Infinity, 2}]Length /@ %Find all partitions of 8 that involve only 1, 2, and 5:
IntegerPartitions[8, All, {1, 2, 5}]Find the first 10 partitions of 15:
IntegerPartitions[15, All, All, 10]Find the last 3 partitions of 15:
IntegerPartitions[15, All, All, -3]Generalizations & Extensions (2)
Applications (2)
Find the ways to make change for 156 cents with 10 or fewer standard coins:
IntegerPartitions[156, 10, {1, 5, 10, 25}]Find "McNugget partitions" for 50:
IntegerPartitions[50, All, {6, 9, 20}]Find the number of "McNugget partitions" for numbers up to 50:
Table[Length[IntegerPartitions[i, All, {6, 9, 20}]], {i, 50}]Show integers that are not "McNuggetable":
Position[%, 0]//FlattenThe last case is exactly the corresponding Frobenius number:
FrobeniusNumber[{6, 9, 20}]Properties & Relations (4)
Each sublist adds up to the original number:
IntegerPartitions[4]Total /@ %The length of IntegerPartitions[n] is PartitionsP[n]:
Length[IntegerPartitions[10]]PartitionsP[10]IntegerPartitions gives results in reverse lexicographic order, not Sort order:
IntegerPartitions[5]Sort[%]For integers below 10, generate IntegerPartitions order by converting to strings:
ReverseSort[ToString /@ IntegerPartitions[5]]FrobeniusSolve gives coefficient lists for IntegerPartitions:
FrobeniusSolve[{6, 9, 20}, 24]IntegerPartitions[24, All, {6, 9, 20}]Possible Issues (3)
IntegerPartitions cannot give an infinite list of partitions:
IntegerPartitions[5, All, {1, -1}]IntegerPartitions[5, 10, {1, -1}]There are no integer partitions of 1/2:
IntegerPartitions[1 / 2]There are, however, partitions into rationals:
IntegerPartitions[1 / 2, All, {1 / 6, 1 / 3}]If all items requested by the fourth argument are not present, a warning message is issued:
IntegerPartitions[3, All, All, 7]To suppress the message, use Off:
Off[IntegerPartitions::take]IntegerPartitions[3, All, All, 7]See Also
PartitionsP Divisors Subsets IntegerDigits NumberDecompose FrobeniusSolve PowersRepresentations
Function Repository: IntegerPartitionQ IntegerCompositions NextIntegerPartition StrictIntegerCompositions DominatingIntegerPartitionQ IntegerPartitionFrequency FrobeniusSymbolFromPartition ConjugatePartition FerrersDiagram NumberOfTableaux StandardYoungTableaux TableauQ RandomIntegerPartition
Tech Notes
Related Guides
Related Links
Text
Wolfram Research (2007), IntegerPartitions, Wolfram Language function, https://reference.wolfram.com/language/ref/IntegerPartitions.html (updated 2008).
CMS
Wolfram Language. 2007. "IntegerPartitions." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/IntegerPartitions.html.
APA
Wolfram Language. (2007). IntegerPartitions. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/IntegerPartitions.html
BibTeX
@misc{reference.wolfram_2026_integerpartitions, author="Wolfram Research", title="{IntegerPartitions}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/IntegerPartitions.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_integerpartitions, organization={Wolfram Research}, title={IntegerPartitions}, year={2008}, url={https://reference.wolfram.com/language/ref/IntegerPartitions.html}, note=[Accessed: 12-June-2026]}