View All C Programs

 Previews Example  View All C Programs Next Example 

Program to find the perfect number in C

This program for perfect number. A perfect number is a positive integer that is equal to the sum of its proper positive divisors, that is, the sum of its positive divisors excluding the number itself (also known as its aliquot sum).
Equivalently, a perfect number is a number that is half the sum of all of its positive divisors (including itself) i.e. s1(n) = 2n.

I have added this program in basic c program examples.

For example : The first perfect number is 6, because 1, 2, and 3 are its proper positive divisors, and 1 + 2 + 3 = 6.Equivalently, the number 6 is equal to half the sum of all its positive divisors: ( 1 + 2 + 3 + 6 ) / 2 = 6. The next perfect number is 28 = 1 + 2 + 4 + 7 + 14. This is followed by the perfect numbers 496 and 8128.
#include <stdio.h>
#include <conio.h>
main()
{
    int a, num, sum = 0 ;
    printf("Enter a number to check for the perfect number : ") ;
    scanf("%d", &num) ;
    
    for(a = 1 ; a < num ; a++)
    {
        if(num % a == 0)
        sum = sum + a ;
    }

    if (sum == num)
    printf("\n%d is a perfect number", num) ;
    else
    printf("\n%d is not a perfect number", num) ;
    getch() ;
}
    
Result
Enter a number to check for the perfect number : 28

28 is a perfect number