Skip to main content

Special Number | C programming

 Q.9   WAP in C/ C++/ java to check whether the number is a Special Number or not.

Definition: If the sum of the factorial of digits of a number (N) is equal to the number itself, the number (N) is called a special number.

INPUT : 145     The digits of the number are: 1, 4, 5

Factorial of digits:

1! = 1

4! = 4*3*2*1 = 24

5! = 5*4*3*2*1 = 120

Sum of factorial of digits = 1 + 24 + 120 = 145

            Hence, the given number 145 is a special number.

Solution : 

#include <stdio.h>

int factorial(int x) // function to return factorial of the number
{
    int f = 1;
    for (int i = 1i <= x; i++)
    {
        f = f * i;
    }
    return f;
}

void main()
{
    int n,sum,x;
    printf("\nEnter any positive number : ");
    scanf("%d"&n);

    if (n < 0)
    {
        printf("\nInvalid input! Enter the value again -->");
        main(); // calls the main() function again
    }
    else
    {
        x=n;
        sum = 0;
        while (x > 0)
        {
            sum += factorial(x % 10);
            x = x / 10;
        }

        if(sum == n)
            printf("%d is a Special Number\n",n);
        else
            printf("%d Not a special number\n",n);
    }
// end of main()

Comments

Popular posts from this blog

Neon Number | C programming

 Q.8     WAP in C/ C++/ java to check whether the number is a Neon number or not. Input: 9 Output: Neon Number Explanation: the square is 9*9 = 81 and the sum of the digits of the square ( 8+1) is 9. Solution :  #include <stdio.h> int   sumofdigits ( int  x)  // function to compute sum of digits {      int   sum = 0 ;      while (x > 0 )     {          sum += x % 10 ;         x = x / 10 ;     }      return   sum ; } int   main () {      int   n ;         printf ( " \n Enter any positive number : " );      scanf ( " %d " ,  & n );      if  ( n < 0 )     { ...

Division, Divisor, Result | C programming

 Q.4     WAP in C/ C++/ java to divide two integers (dividend and divisor)              Example, Dividend = 7 Divisor = 2 Result = 3 Dividend = -17 Divisor = 5 Result = -3 Solution : #include <stdio.h> void   main () {      int   a , b ;      printf ( " \n Dividend = " );      scanf ( " %d " ,  & a );           printf ( "Divisor = " );      scanf ( " %d " ,  & b );           printf ( "Result :  %d\n " ,  a / b ); }  // end of main()