یک عدد کامل  (perfect number)  عددی است که با مجموع مقسوم علیه&zwnj های خود (بغیر از خود عدد) برابر می باشد. کوچکترین عدد کامل عبارت است از ٦، زیر داریم:
6 = 1 + 2 + 3
اعداد کامل بعدی عبارتند از:
28 = 1 + 2 + 4 + 7 + 14
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064
اولین بار اقلیدس در کتاب خود با نام عناصر  (Elements)  که حدود ٣٠٠ قبل از میلاد نوشته شده بود، به مفهوم عدد کامل اشاره کرد.
برای اینکه با استفاده زبان
برنامه نویسی سی پلاس پلاس تشخیص دهیم یک عدد کامل است یا خیر از قطعه کد زیر استفاده می کنیم :
#include < iostream>
#include < cctype>
using namespace std
int main(){
     int n,i=1,sum=0
     cout < <" Enter a number: "<br>     cin > >n
           while(i< n){
           if(n%i==0)
           sum=sum+i
           i++
}
 
if(sum==n)
     cout < else
     cout < }
کد را اجرا می کنیم. سپس یک عدد دلخواه به عنوان ورودی وارد می کنیم.