- Write a C program to check whether a number is perfect number or not.
- Algorithm to check perfect number.

A number is a perfect number, if the sum of all the divisors of a number is equal to the number itself.

**Algorithm to check a number is perfect number or not**

- Take a number N as input from user.
- Find all divisors of a N between 1 to N/2.
- Add the values of all divisors to a variable sum.
- If sum is equal to N, then N is a perfect number otherwise not a perfect number.

## C program to check a number is perfect number

/* * C program to check whether a number is perfect number or not */ #include<stdio.h> #include<conio.h> int main () { int num, i, divSum; printf("Enter a number\n"); scanf("%d", &num); /* Find all divisors of a number between 1 to num/2 and add it to divSum*/ for (divSum = 0, i = 1; i <= num/2; i++) { if (num % i == 0) { divSum += i; } } /* Check if Divisor sum is equal to input number */ if (divSum == num) printf("%d is a Perfect Number\n", num); else printf("%d is Not a Perfect Number\n", num); getch(); return 0; }

**Program Output**

Enter a number 10 10 is Not a Perfect Number

Enter a number 6 6 is a Perfect Number

**Related Topics**