w3resource

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:

Flowchart :Find perfect numbers within a given number of range

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.



Follow us on Facebook and Twitter for latest update.

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

 





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