C program to check whether a number is perfect number or not

Write a C program to enter any number and check whether the number is Perfect number or not. How to check perfect numbers in C program using loop. Perfect number program in C.

Input number: 6
Output: 6 is perfect number

Required knowledge

Basic C programming, For loop, If else

Perfect number

A 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
And 1+2+3 = 6. Hence 6 is a perfect number

Program to check perfect number

 * C program to check whether a number is Perfect number or not

#include <stdio.h>

int main()
    int i, num, sum = 0;

    /* Reads a number from user */
    printf("Enter any number to check perfect number: ");
    scanf("%d", &num);

    /* Finds the sum of all proper divisors */
    for(i=1; i<num; i++)
        /* If i is a divisor of num */
            sum += i;

    /* Checks whether the sum of proper divisors is equal to num */
    if(sum == num)
        printf("\n%d is a Perfect number", num);
        printf("\n%d is not a Perfect number", num);

    return 0;

Enter any number to check perfect number: 6

6 is a Perfect number

Happy coding ;)

Any doubt or suggestion write here. I will try my best to help. Before posting your code you must escape it to view. To format your source code and use format highlighting, post your source code inside
< code >< pre > -- Your source code -- < /pre >< /code > (Remove spaces from pre and code tags).

1 comment: