PerfectNumberQ
Details
- PerfectNumberQ is typically used to test whether an integer is a perfect number.
- A positive integer n is a perfect number if the sum of all its divisors is 2n.
- PerfectNumberQ[n] returns False unless n is manifestly a perfect number.
Examples
open all close allBasic Examples (2)
Scope (5)
PerfectNumberQ works over positive integers:
PerfectNumberQ[6]PerfectNumberQ[11 + 6I]Negative integers are not perfect:
PerfectNumberQ[-6]PerfectNumberQ[6.0]PerfectNumberQ[2 ^ 74207280(2 ^ (74207281) - 1)]Applications (11)
Basic Applications (3)
Multicolumn[If[PerfectNumberQ[#], Style[#, Red, Bold], #]& /@ Range[100], 10, ...]PerfectNumber[3]PerfectNumberQ[%]Generate random perfect numbers:
randomPerfect[n_, m_ : 1] := Table[PerfectNumber[RandomInteger[{1, n}]], {m}];randomPerfect[10, 5]AllTrue[%, PerfectNumberQ]Number Theory (8)
Even perfect numbers end in either 6 or 28:
PerfectNumber[{1, 3, 5, 6}, "Even"]AllTrue[%, PerfectNumberQ]PerfectNumber[{2, 4, 7, 8}, "Even"]AllTrue[%, PerfectNumberQ]Triangular numbers of Mersenne primes are perfect numbers:
mersennePrime[n_] := 2 ^ MersennePrimeExponent[n] - 1;AllTrue[PolygonalNumber[mersennePrime /@ Range[40]], PerfectNumberQ]Hexagonal numbers related to Mersenne prime exponents are perfect numbers:
powertwo[n_] := 2 ^ (MersennePrimeExponent[n] - 1);AllTrue[PolygonalNumber[6, powertwo /@ Range[40]], PerfectNumberQ]Having the form
, each even perfect number is the ![]()
![]()
triangular number and the ![]()
hexagonal number:
PerfectNumberQ[2 ^ (5 - 1)(2 ^ 5 - 1)]{PolygonalNumber[3, 2 ^ 5 - 1], 2 ^ (5 - 1)(2 ^ 5 - 1)}{PolygonalNumber[6, 2 ^ (5 - 1)], 2 ^ (5 - 1)(2 ^ 5 - 1)}If p is a Mersenne prime exponent, then
is a perfect number:
MersennePrimeExponentQ[5]PerfectNumberQ[2 ^ (5 - 1)(2 ^ 5 - 1)]Every even perfect number has the form
, where p is a Mersenne prime exponent:
PerfectNumberQ[496]Check that in the representation above p is 5:
2 ^ (5 - 1)(2 ^ 5 - 1)MersennePrimeExponentQ[5]The reciprocals of the divisors of a perfect number n must add up to
:
PerfectNumberQ[28]DivisorSigma[-1, 28]A number n is
-perfect if the sum of the divisors of n is equal to
:
kPerfectQ[k_, n_] := DivisorSigma[1, n] == k nkPerfectQ[3, 120]A perfect number is the same thing as a
-perfect number:
Select[Range[30], kPerfectQ[2, #]&]Properties & Relations (7)
A positive integer n is perfect if and only if the sum of all its divisors equals
:
PerfectNumberQ[6]DivisorSigma[1, 6] == 2 6PerfectNumber gives ![]()
perfect number:
PerfectNumber[6]PerfectNumberQ[%]If p is a Mersenne prime exponent, then
is a perfect number:
MersennePrimeExponentQ[5]PerfectNumberQ[2 ^ (5 - 1)(2 ^ 5 - 1)]Every even perfect number has the form
, where p is a Mersenne prime exponent:
PerfectNumberQ[496]IntegerExponent[496, 2]Check that in the representation above p is 5:
2 ^ (5 - 1)(2 ^ 5 - 1)MersennePrimeExponentQ[5]Triangular numbers of Mersenne primes are perfect numbers:
mersennePrime[n_] := 2 ^ MersennePrimeExponent[n] - 1;AllTrue[PolygonalNumber[mersennePrime /@ Range[40]], PerfectNumberQ]Hexagonal numbers related to Mersenne prime exponents are perfect numbers:
powertwo[n_] := 2 ^ (MersennePrimeExponent[n] - 1);AllTrue[PolygonalNumber[6, powertwo /@ Range[40]], PerfectNumberQ]Use DivisorSigma to test whether a positive integer is perfect:
PerfectNumberQ[6]DivisorSigma[1, 6] == 2 6Possible Issues (3)
Expressions that represent perfect numbers but do not evaluate explicitly will give False:
x = 5 + GoldenRatio - 1 / GoldenRatio;
PerfectNumberQ[x]It is necessary to use symbolic simplification first:
PerfectNumberQ[Simplify[x]]As of this version of the Wolfram Language, no odd perfect number is known:
PerfectNumberQ[1234121]As of this version of the Wolfram Language, the first 50 even perfect numbers have definite ranking:
TimeConstrained[PerfectNumber[51, "Even"], 10]More perfect numbers are known, but their ranking is still unknown:
n = {82589933, 136279841};
numbers = 2 ^ (n - 1)(2 ^ n - 1);
AllTrue[numbers, # > PerfectNumber[50, "Even"]&]AllTrue[numbers, PerfectNumberQ]Related Guides
Text
Wolfram Research (2016), PerfectNumberQ, Wolfram Language function, https://reference.wolfram.com/language/ref/PerfectNumberQ.html (updated 2024).
CMS
Wolfram Language. 2016. "PerfectNumberQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/PerfectNumberQ.html.
APA
Wolfram Language. (2016). PerfectNumberQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PerfectNumberQ.html
BibTeX
@misc{reference.wolfram_2026_perfectnumberq, author="Wolfram Research", title="{PerfectNumberQ}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/PerfectNumberQ.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_perfectnumberq, organization={Wolfram Research}, title={PerfectNumberQ}, year={2024}, url={https://reference.wolfram.com/language/ref/PerfectNumberQ.html}, note=[Accessed: 12-June-2026]}