# Perfect number/Isperfect C/C++

**Description:**A Perfect number is one whose sum of divisors(excluding itself) is equal to the number itself. For example, "6" is a perfect number because 1+2+3 = 6 (1,2,3 are divisible by 6). To know more, check out the description of wikipedia for Perfect Number. This program checks if a number is perfect or not.

**Difficulty:** Easy

**Language: **C++

**Compiler/IDE: ** Visual Studio, dev C++ (others will work as well)

#include <iostream> using namespace std; bool perfect(int) ; int main() { int num; cout<<"Write a number to check whether it is perfect \n"; cin>> num; if (perfect(num)) cout<<"The number is a perfect number\n"; else cout<<"The number isn't a perfect number\n"; system("pause"); } bool perfect (int n) { int sum=0; for (int i = 1; i <= n/2; i++ ) { n % i ==0 ? sum+= i :sum +=0; } return !(sum - n); }

**
Notes:**The project calls a simple function that returns true or false based upon whether the number passsed is perfect or not. The function checks if every number(starting from 2 till its half) is divisible by the given number or not; if it is, its added to the "sum", and if its not , 0 is added. At the end if "sum" equals number passed or equivalently (sum - n ) equals 0, the number is perfect and the function returns true and false otherwise.