C Programming Code Examples C > For Loops and While Loops Code Examples program to check whether a number is perfect number or not program to check whether a number is perfect number or not Write a C program to input a number and check whether the number is Perfect number or not. How to check perfect number in C programming using loop. What is Perfect number? Perfect number is a positive integer which is equal to the sum of its proper positive divisors. For example: 6 is the first perfect number Proper divisors of 6 are 1, 2, 3 Sum of its proper divisors = 1 + 2 + 3 = 6. Hence 6 is a perfect number. Input a number from user. Store it in some variable say j. Initialize another variable to store sum of proper positive divisors, say sum = 0. Run a loop from 1 to j/2, increment 1 in each iteration. The loop structure should look like for(i=1; i<=j/2; i++). Why iterating from 1 to j/2, why not till j? Because a number does not have any proper positive divisor greater than j/2. Inside the loop if current number i.e. i is proper positive divisor of j, then add it to sum. Finally, check if the sum of proper positive divisors equals to the original number. Then, the given number is Perfect number otherwise not. #include <stdio.h> int main() { int i, j, sum = 0; /* Input a number from user */ printf("Enter any number to check perfect number: "); scanf("%d", &j); /* Calculate sum of all proper divisors */ for(i=1; i<j; i++) { /* If i is a divisor of j */ if(j%i == 0) { sum += i; } } /* Check whether the sum of proper divisors is equal to j */ if(sum == j) { printf("%d is PERFECT NUMBER", j); } else { printf("%d is NOT PERFECT NUMBER", j); } return 0; }