# C Exercises: Check whether a given number is a perfect number or not

## C For Loop: Exercise-27 with Solution

Write a C program to check whether a given number is a 'Perfect' number or not.

**Pictorial Presentation:**

**Sample Solution:**

**C Code:**

```
/*Perfect number is a positive number which sum of all positive divisors excluding that number is equal to that number. For example 6 is perfect number since divisor of 6 are 1, 2 and 3. Sum of its divisor is 1 + 2+ 3 = 6*/
#include <stdio.h>
void main()
{
int n,i,sum;
int mn,mx;
printf("Input the number : ");
scanf("%d",&n);
sum = 0;
printf("The positive divisor : ");
for (i=1;i<n;i++)
{
if(n%i==0)
{
sum=sum+i;
printf("%d ",i);
}
}
printf("\nThe sum of the divisor is : %d",sum);
if(sum==n)
printf("\nSo, the number is perfect.");
else
printf("\nSo, the number is not perfect.");
printf("\n");
}
```

Sample Output:

Input the number : 56 The positive divisor : 1 2 4 7 8 14 28 The sum of the divisor is : 64 So, the number is not perfect.

**Flowchart: **

**C Programming Code Editor:**

**Improve this sample solution and post your code through Disqus.**

**Previous:** Write a program in C to find the sum of the series 1 +11 + 111 + 1111 + .. n terms.

**Next:** Write a c program to find the perfect numbers within a given number of range.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

## C Programming: Tips of the Day

** What does (x ^ 0x1) != 0 mean?**

The XOR operation (x ^ 0x1) inverts bit 0. So the expression effectively means: if bit 0 of x is 0, or any other bit of x is 1, then the expression is true.

Conversely the expression is false if x == 1.

So the test is the same as:

if (x != 1)

and is therefore (arguably) unnecessarily obfuscated.

Ref :https://bit.ly/2NIisQM

**Weekly Trends**- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook