## Q. Write a program to check whether the given number is Perfect Number or not.

Perfect Number :- Perfect number, a positive integer equal to the sum of its proper divisors. The smallest Perfect number is 6, which is the sum of 1, 2 and 3.
For Example:-
Input = 28
Output = 28 is the Perfect Number.
So as we can see that the divisor of 28 is 1, 2, 4, 7, 14, so the sum of all the divisors is 28 (1 + 2 + 4 + 7 + 14 = 28). Therefore, 28 is the Perfect number.

## Perfect Number Algorithm

```START
Step 1 - Input the number.
Step 2 - Find all divisors of the number except the number itself.
Step 3 - If the sum of all divisors of the number is equal to the number, then return true. Else, return false.
STOP
```

# Perfect Number Program

• C
• C++
• Java
• Python
• C#
• PHP
• ```#include <stdio.h>
int main()
{
int num=28,i;
int sum;
sum=0;
for(i=1; i< num;i++)
{
if(num%i==0)
sum+=i;
}
if(sum==num)
printf("%d is a perfect number.",num);
else
printf("%d is not a perfect number.",num);
return 0;
}
```
```#include <bits/stdc++.h>
using namespace std;
int main(){
int num=28,i=1,sum=0;
while(i< num){
if(num%i==0)
sum=sum+i;
i++;
}
if(sum==num)
cout << i << " is a perfect number\n";
else
cout << i << " is not a perfect number\n";
return 0;
}
```
```public class LFC {
public static void main(String[] args) {
int i, num=28, Sum = 0 ;
for(i = 1 ; i < num ; i++) {
if(num % i == 0)  {
Sum = Sum + i;
}
}
if (Sum == num) {
System.out.format("% d is a Perfect Number", num);
}
else {
System.out.format("% d is NOT a Perfect Number", num);
}
}
}
```
```# Python Program to find Perfect Number using For loop
num = 28
Sum = 0
for i in range(1, num):
if(num % i == 0):
Sum = Sum + i
if (Sum == num):
print(" %d is a Perfect Number" %num)
else:
print(" %d is not a Perfect Number" %num)
```
```using System;
namespace LFC
{
class LFC
{
static void Main(string[] args)
{
int num=28,sum=0,n;
n = num;
for (int i = 1; i < num;i++)
{
if (num % i == 0)
{
sum=sum + i;
}
}
if (sum == n)
{
Console.WriteLine(n+" is a perfect number");
}
else
{
Console.WriteLine(n+" is not a perfect number");
}
}
}
}
```
```function check_perfectnumber(\$num)
{
// To store the sum
\$sum = 0;
// Traversing through each number
// In the range [1,N)
for (\$i = 1; \$i < \$num; \$i++)
{
if (\$num % \$i == 0)
{
\$sum = \$sum + \$i;
}
}
// returns True is sum is equal
// to the original number.
return \$sum == \$num;
}
// Driver's code
\$num = 28;
if (check_perfectnumber(\$num))
echo "\$num is a Perfect Number";
else
echo "\$num is not a Perfect Number";
```
```#include <stdio.h>
int main()
{
int num=28,i;
int sum;
sum=0;
for(i=1; i< num;i++)
{
if(num%i==0)
sum+=i;
}
if(sum==num)
printf("%d is a perfect number.",num);
else
printf("%d is not a perfect number.",num);
return 0;
}
```

#### Output

```28 is a perfect number.
```

## Recommended Programs

Program to check Armstrong Number.
Program to check Leap Year.