In this post, we will learn how to check the perfect number using C++ Programming language.
A Perfect number is a positive integer that is equal to the sum of its positive divisors, excluding the number itself. For example: The divisors of 6 are 1, 2 and 3 such that 1 + 2 + 3 = 6. Hence, 6 is a perfect number.
We will be using following methods to check a perfect number:
- Using for loop
- Using while loop
- Using functions
So, without further ado, let’s begin this tutorial.
C++ Program to Check Perfect Number
// C++ Program to Check Perfect Number #include <iostream> using namespace std; int main(){ int i, num, sum = 0; // Asking for input cout << "Enter any number: "; cin >> num; // Calculating sum of factors for (i = 1; i < num; i++){ if (num % i == 0){ sum = sum + i; } } // Checking perfect number if (num == sum){ cout << num << " is a perfect number."; } else{ cout << num << " is not a perfect number."; } return 0; }
Output 1
Enter any number: 6
6 is a perfect number.
Output 2
Enter any number: 12
12 is not a perfect number.
How Does This Program Work ?
int i, num, sum = 0;
In this program, we have declared three int data type variables named i, num and sum.
// Asking for input cout << "Enter any number: "; cin >> num;
Now, the user is asked to enter any positive number.
// Calculating sum of factors for (i = 1; i < num; i++){ if (num % i == 0){ sum = sum + i; } }
We calculate the sum of all the divisors of the entered number.
if (num == sum){ cout << num << " is a perfect number."; } else{ cout << num << " is not a perfect number."; }
Now, we check whether the sum of divisors is equal to the number itself or not. If yes, then the entered number is a perfect number otherwise the entered number is not a perfect number.
C++ Program to Check Perfect Number Using While Loop
// C++ Program to Check Perfect Number Using While Loop #include <iostream> using namespace std; int main(){ int i = 1, sum = 0, num; // Asking for input cout << "Enter any number: "; cin >> num; // Calculating the sum of divisors while (num > i){ if (num % i == 0){ sum = sum + i; } i++; } // Checking perfect number if (num == sum){ cout << num << " is a perfect number."; } else{ cout << num << " is not a perfect number."; } return 0; }
Output 1
Enter any number: 28
28 is a perfect number.
Output 2
Enter any number: 32
32 is not a perfect number.
C++ Program to Check Perfect Number Using Functions
// C++ Program to Check Perfect Number #include <iostream> using namespace std; int perfect(int num){ int i = 1, sum = 0; while (num > i){ if (num % i == 0) sum = sum + i; i++; } return(sum); } int main(){ int result, num; // Asking for input cout << "Enter a positive number: "; cin >> num; result = perfect(num); // Checking perfect number if (num == result){ cout << num << " is a perfect number."; } else{ cout << num << " is not a perfect number."; } return 0; }
Output 1
Enter any number: 496
496 is a perfect number.
Output 2
Enter any number: 469
469 is not a perfect number.
Conclusion
I hope after going through this post, you understand how to check the perfect number using C++ Programming language.
If you have any doubt regarding the program, feel free to contact us in the comment section. We will be delighted to guide you.
Also Read: