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 1

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