Skip to main content

C Program to Check whether a given number is Perfect or Not

 C Program to Check whether a given number is Perfect or Not.


In this exmaple we will learn to check a given number is a Perfect Number or not. 


LOGIC OF PERFECT SQUARE NUMBER:

  • At first we have declared variables i,num,sum=0(value is initialized to zero). 

  • Then we have inputted the number from the user and stored in num.

  • After that we have to to add a loop i=1 till num/2 and to increment the iteration by 1. You all must be thinking why we have to run the loop till num/2 because a number does not have any positive integer greater than the half of the number that is num/2.

  • Then we have to check whether the remainder of num%i is equal to zero or not. If it is equal then the value of i is a proper divisor of the number entered by the user and it is added to sum.

  • Now we have to check if the sum of the proper divisors of the number equal to the original number. If it is equal then the number entered by the user is a perfect number otherwise it is not a perfect number.


PROGRAM OF PERFECT NUMBER:

#include<stdio.h>
int main()
{
    int i,num,sum=0;
    printf("Enter any number to check perfect number:");
    scanf("%d",&num);
    for(i=1;i<=num/2;i++)
    {
        if(num%i==0)
        {
            sum+=i;
        }
    }
    if(sum==num)
    {
        printf("%d is PERFECT NUMBER\",num);
    }
    else
    {
        printf("%d is NOT A PERFECT NUMBER",num);
    }
    return 0;
}


OUTPUT:

C Program to Check whether a given number is Perfect or Not


PERFECT NUMBER:


Perfect number is a positive integer that is equal to the sum of its positive divisors, excluding the number itself. 


  • There are 51 known perfect numbers in total.

  • First five perfect numbers are 6,28,496,8128 and 33550336

  • There are only 2 perfect numbers between 1 to 100 and 3 perfect numbers between 1 to 1000.

  • Euclid was the first individual to categorize the perfect numbers.

Comments

Popular posts from this blog

C Program to Add Two Matrices Using Multi-dimensional Array.

C Program to Add Two Matrices Using Multi-dimensional Array.       In this example, we will add two matrices using multi-dimensional array. Two matrices can be added if they are equal means their order/dimensions must be same. Addition of matrices is performed by adding the corresponding elements of the two matrices.     Here in the Output we have  allowed the user to enter the row and column size of their matrices according to their requirements but they can enter the value of row size and column size less than 100. PROGRAM #include <stdio.h> #include <conio.h> int   main () {      int   row , column , i , j , a [ 100 ][ 100 ], b [ 100 ][ 100 ], c [ 100 ][ 100 ];      printf ( "Enter the row size of the matrices(max. value 100) : " );      scanf ( " %d " ,& row );      printf ( "Enter the co...

C Program to find the sum of the elements of a 2-D array.

 C Program to find the sum of the elements of a 2-D array.     In this example, we will find the sum of the elements of a 2-D array allowing the user to enter the row size and column size according to their requiremnts.      Here in the output we have entered a row  size 3 and column size 3. PROGRAM #include <stdio.h> #include <conio.h> void   main () {      int   a [ 50 ][ 50 ], r , c , i , j , sum = 0 ;      printf ( "Enter the row size and column size of the array :" );      scanf ( " %d%d " ,& r ,& c );      printf ( "Enter the elements of the array : " );      for ( i = 0 ; i < r ; i ++)     {          for ( j = 0 ; j < c ; j ++)       ...

C++ program to define a class circle to represent circles. Add a data member radius to store the radius of a circle. Write member functions area() and perimeter() to compute the area and perimeter of a circle.

  C++ program to define a class circle to represent circles. Add a data member radius to store the radius of a   circle. Write member functions area() and perimeter() to compute the area and perimeter of a circle.     To define a Circle class in C++, we start by declaring the class with the class keyword, followed by the name of the class. In this case, we'll call it Circle . We'll then define a private data member to store the radius of the circle. Here's the code to do that:    class Circle {      private:      double radius;    };          Next, we need to define public member functions that can set and get the value of the radius, as well as calculate the area and perimeter of the circle. Here's the full code for the Circle class: class Circle { private: double radius; public: void setRadius(double r) { radius = r; } dou...

C Program to find out the roots of a Quadratic Equation and also test for Real and Complex roots

 C Program to find out the roots of a Quadratic Equation  and also test for Real and Complex roots.       In this example, we will calculate the roots of the quadratic equation by testing for real and complex roots. We can test real and complex roots by checking these conditions : If b 2  −4 ac  < 0, then there are no real roots. If b 2  −4 ac  = 0, then both the roots are equal. If b 2  −4 ac  > 0, then roots are real and distinct.   PROGRAM TO FIND OUT THE ROOTS OF A QUADRATIC EQUATION. #include <stdio.h> #include <conio.h> #include <math.h> int   main () {      int   a , b , c , d ;      float   x , y ;      printf ( "Enter coefficient of x^2,x and constant : " );      scanf ( " %d   %d   %d " ,& a ,& b ,& c );      d = b * b ...