How to check whether number is perfect or not in C++

1 Answer

0 votes
#include <iostream>

using namespace std;

// perfect number is a positive integer that is equal to the sum of its proper positive divisors

class calc
{
  public:
	bool isPerfectNumber(int n);
};
bool calc::isPerfectNumber(int n)
{
	int i = 1, sum = 0;

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

int main()
{
	int n = 496;
	calc c;

	if (c.isPerfectNumber(n))
		cout << n << " is a Perfect Number" << endl;
	else
		cout << n << " is Not a Perfect Number" << endl;

	return 0;
}


/*
run:

496 is a Perfect Number

*/

 



answered Feb 27, 2016 by avibootz
...