# C++ Program to Check Perfect Number

Write a C++ Program to Check Perfect Number with an example. Any number can be perfect if the sum of its divisors (excluding the actual number) equal to the number. For instance, 6 is divisible by 1, 2, 3 (excluding 6) and the sum of 1 + 2 + 3 = 6. So, 6 is a perfect number.

In this C++ perfect number example, we used for loop (for(i = 1 ; i < number ; i++)) to iterate from 1 to number. We used the if condition (if(number % i == 0)) to check whether the number divisible by loop value equals 0. If true, add that value to the sum. Finally, we used the If condition (if(number == sum)) to check whether the number equal to the sum and print the result.

```#include<iostream>

using namespace std;

int main()
{
int number, i, sum = 0;

cout << "Please Enter the Number to check for Perfect  =  ";
cin >> number;

for(i = 1 ; i < number ; i++)
{
if(number % i == 0)
{
sum = sum + i;
}
}

if(number == sum)
{
cout << number << " is a Perfect Number";
}
else
{
cout << number << " is Not a Perfect Number";
}
return 0;
}```

## C++ Program to Check Perfect Number using a While loop

```#include<iostream>

using namespace std;

int main()
{
int number, i = 1, sum = 0;

cout << "Please Enter the Number to check for Perfect  =  ";
cin >> number;

while( i < number )
{
if(number % i == 0)
{
sum = sum + i;
}
i++;
}

if(number == sum)
{
cout << number << " is a Perfect Number";
}
else
{
cout << number << " is Not a Perfect Number";
}
return 0;
}```
``````Please Enter the Number to check for Perfect  =  496
496 is a Perfect Number``````

## C++ Program to print Perfect Numbers from 1 to N

This C++ perfect number example allows the user to enter the minimum and maximum values. Next, it prints the perfect numbers between min and max value.

```#include<iostream>

using namespace std;

int main()
{
int minimum, maximum, number, i, sum;

cout << "Enter Minimum and Maximum to find Perfect Numebrs =  ";
cin >> minimum >> maximum;

cout << "\nPerfect Numbers Between " << minimum << " and " << maximum << " = ";
for(number = minimum; number <= maximum; number++)
{
for(i = 1, sum = 0; i < number ; i++)
{
if(number % i == 0)
{
sum = sum + i;
}
}
if(number == sum)
{
cout << number << " ";
}
}

return 0;
}```
``````Enter Minimum and Maximum to find Perfect Numebrs =
1
1000

Perfect Numbers Between 1 and 1000 = 6 28 496 ``````