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 input and display details of students using structure

 C Program to input and display details of students using structure.       In this example, we will enter the details of students like roll number, name and total marks using structure and will be displayed. The total number of student should be entered according to the requirements of the user(maximum value is 50). We can increase the maximum number by changing the statement struct student[50];  to struct student[100];     Here in the output we have entered details of four student and displayed them accordingly. PROGRAM #include <stdio.h> #include <conio.h> struct   student {      int   roll ;      char   name [ 20 ];      int   total ; }; void   main () {      int   i , n ;      struct   student   std [ 50 ];      printf ( "Enter the number of students ...

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 print the first N even numbers in reverse order.

 C Program to print the first N even numbers in reverse order.      In this example, we will print the first N even numbers in reverse order. Here N is the total number of even numbers you want to print. PROGRAM TO PRINT THE FIRST N EVEN NUMBERS IN REVERSE ORDER: #include <stdio.h> #include <conio.h> int   main () {      int   even , n , i ;      printf ( "Enter the value of N : " );      scanf ( " %d " ,& n );      printf ( "Printing first  %d  even numbers in reverse order : " , n );      for ( i = n * 2 ; i > 2 ; i --)     {          if ( i % 2 == 0 )         {              printf ( " %d \t " , i );  ...

C Program to find the sum of two numbers using user-defined function.

 C Program to find the sum of two numbers using user-defined function.          In this example, we will calculate the sum of to numbers using user-defined function.  Here in the output we have taked two numbers 23 and 65 which after calculation gives 88. PROGRAM #include <stdio.h> #include <conio.h> int   sum ( int   a , int   b ); void   main () {      int  x,y,res= 0 ;      printf ( "Enter the values of x and y :" );      scanf ( " %d%d " ,&x,&y);     res= sum (x,y);      printf ( "The sum is :  %d " ,res);      getch (); } int   sum ( int   a , int   b ) {      return (a+b); } OUTPUT Enter the values of x and y :23 65 The sum is : 88 NOTE:   You Can Comment Your Code if you have solved d...

C Program to check if a given square matrix is symmetric or not using function

 C Program to check if a given square matrix is symmetric or not using function.     In this example, we will check if a given square matrix entered by the user is symmetric or not. Here in the output we have taken a square matrix of 3x3. PROGRAM TO CHECK IF A GIVEN SQUARE MATRIX IS SYMMETRIC OR NOT USING FUNCTION #include <stdio.h> #include <conio.h> void  symmetric( int , int , int  [50][50]); void  main() {      int  row,column,i,j,a[50][50];     printf( "Enter the size of the matrices: " );     scanf( "%d" ,&row);     column=row;     printf( "Enter the matrix : " );      for (i=0;i<row;i++)     {          for (j=0;j<column;j++)         {    ...