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 Print the Digits of a Number in Words

 C program to Print the Digits of a Number in Words.      In this example, we will print the digits of a number in words.  For example, if a number 841 is entered through the keyboard  then the program must print “Eight Four One". For solving this first we have to reverse the number than by using switch statement we willl print the digits of the number in words.    PROGRAM TO PRINT THE DIGITS OF A NUMBER IN WORDS #include <stdio.h> #include <conio.h> void   main () {      int   n , num = 0 ;      printf ( "Enter the Number : " );      scanf ( " %d " ,& n );      while ( n != 0 )     {          num =( num * 10 )+( n % 10 );          n /= 10 ;     }      printf ( "Printing the...

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 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 determine the Range and Average of the values entered by the user(to terminate enter -1).

C Program to determine the Range and Average of the values entered by the user(to terminate enter -1).     This is a program to calculate the range and average of the values entered by the user and to terminate it by entering -1 and it will determine the highest-value, lowest-value, range, average and also it will count the number of values entered by the user. PROGRAM: #include <stdio.h> #include <math.h> int   main () {      int   count = 0 ;      float   value , high , low , average , range , sum = 0 ;      printf ( "Enter the values (to terminate enter -1) : \n " );      while ( 1 )     {          scanf ( "%f" ,& value );          if ( value !=- 1 )         {      ...