C Exercises: Find perfect numbers within a given number of range
C For Loop: Exercise-28 with Solution
Write a C program to find the 'Perfect' numbers within a given number of ranges.
Sample Solution:
C Code:
/*Perfect number is a positive number which sum of all positive divisors excluding
that number is equal to that number. For example 6 is perfect number since divisor of 6 are 1, 2 and 3.
Sum of its divisor is 1 + 2+ 3 = 6*/
#include <stdio.h>
void main(){
int n,i,sum;
int mn,mx;
printf("Input the starting range or number : ");
scanf("%d",&mn);
printf("Input the ending range of number : ");
scanf("%d",&mx);
printf("The Perfect numbers within the given range : ");
for(n=mn;n<=mx;n++){
i=1;
sum = 0;
while(i<n){
if(n%i==0)
sum=sum+i;
i++;
}
if(sum==n)
printf("%d ",n);
}
printf("\n");
}
Sample Output:
Input the starting range or number : 1 Input the ending range of number : 50 The Perfect numbers within the given range : 6 28
Flowchart:

C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous: Write a c program to check whether a given number is a perfect number or not.
Next: Write a C program to check whether a given number is an armstrong number or not.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
C Programming: Tips of the Day
How to use __FILE__ macro shows full path?
Try
#include<string.h> #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) For Windows use '\\' instead of '/'.
Ref: https://bit.ly/3mOf045
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook