# C Program to Print all Perfect Numbers Between 1 to N

• Write a C program to print all perfect numbers between 1 to N using for loop.

#### Required Knowledge

A perfect number is a positive number, that is equal to sum of its positive divisor.
For Example : 6 is a perfect number as positive factors of 6 are 1, 2 and 3 whose sum is 6.

## C program to print all perfect numbers between 1 to N using for loop

```#include<stdio.h>
#include<conio.h>

int main () {
int num, i, divSum, counter;

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

/* Check for every number between 1 to num,
whether it is perfect number or not */
for(counter = 1; counter <= num; counter++){
/* Find all divisors of a number between
1 to num/2 and add it to divSum */
divSum = 0;
for (i = 1; i <= counter/2; i++) {
if (counter % i == 0) {
divSum += i;
}
}

/* Check if Divisor sum is equal to input number */
if (divSum == counter)
printf("%d is a Perfect Number\n", counter);

}

getch();
return 0;
}
```

Output
```Enter a number
500
6 is a Perfect Number
28 is a Perfect Number
496 is a Perfect Number
```
Related Topics
 C program to check whether a number is perfect number C program to check whether a number is magic number C program to check whether a number is prime or not C program to check armstrong number C program to check a number is palindrome or not C program to convert decimal numbers to binary numbers C program to make a simple calculator using switch statement C program to convert temperature from celsius to fahrenheit C program to print all prime factors of a number List of all C programs