### C program to find if a number is magic number or not :

This tutorial is to check if a number is magic number or not in *c programming language*. A *magic number* is a number which is *equal* to the *product* of *sum of all digits of a number* and *reverse* of this sum. For example, *1729* is a magic number. The sum of all digits of the number is *19*. Reverse of this number *91*. Product of these values is *19 * 91 = 1729*. So, this *is a magic number.* Letâ€™s take a look into the program first :

### C program :

```
#include <stdio.h>
//6
int findReverse(int n)
{
int reverseNumber = 0;
while (n > 0)
{
reverseNumber = (reverseNumber * 10) + (n % 10);
n = n / 10;
}
return reverseNumber;
}
//4
int findSum(int n)
{
int sum = 0;
while (n > 0)
{
sum = sum + (n % 10);
n = n / 10;
}
return sum;
}
int main()
{
//1
int number;
int sum, reverseSum;
//2
printf("Enter the number : ");
scanf("%d", &number);
//3
sum = findSum(number);
//5
reverseSum = findReverse(sum);
//7
if (sum * reverseSum == number)
{
printf("%d is a magic number.", number);
}
else
{
printf("%d is not a magic number.", number);
}
}
```

### Explanation :

*The commented numbers in the above program is same as the Step numbers below*

- First create integer variables to store
*the number*,*sum of the number*and*reverse of the sum of the number*. - Ask the user to enter the number and store it in the
*number*variable. - Find the sum of each digits of the number and store it in the
*sum*variable. - The function
*findSum(int n)*is used to find the sum of all the digits. It takes one integer as the*input*and returns the sum of the digits. - Now create the
*reverse*of the*sum*we have found on last step. Store the value in the*reverseSum*variable. - The function
*findReverse(int n)*is used to find the reverse. It also takes one integer as*input*and returns the reverse of that number. - Now, check if the
*product*of*sum and reverseSum*is equal to*number*or not. If yes, then it is a magic number.Print out the result.

### Sample Outputs :

```
Enter the number : 1223
1223 is not a magic number
Enter the number : 1729
1729 is a magic number
```