Hello Devs,

In this tutorial, we are going to learn C program to check perfect number. 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

Here is a well-commented example you can understand and analyze.

``````# include <stdio.h>
int main(){
int n,i=1,sum=0;

printf("Enter a number: ");
scanf("%d",&n);

while(i<n){
if(n%i==0)
sum=sum+i;
i++;
}
if(sum==n)
printf("%d is a perfect number",i);
else
printf("%d is not a perfect number",i);

return 0;
}``````

C program to find perfect numbers with in a range

``````# include <stdio.h>
int main(){
int n,i,sum;
int min,max;

printf("Enter the minimum range: ");
scanf("%d",&min);

printf("Enter the maximum range: ");
scanf("%d",&max);

printf("Perfect numbers in given range is: ");
for(n=min;n<=max;n++){
i=1;
sum = 0;

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

if(sum==n)
printf("%d ",n);
}

return 0;
}
``````

C program to print perfect numbers from 1 to 100

``````# include <stdio.h>
int main(){
int n,i,sum;

printf("Perfect numbers are: ");
for(n=1;n<=100;n++){
i=1;
sum = 0;

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

if(sum==n)
printf("%d ",n);
}

return 0;
}``````

I hope this example helps you.