C Program to find if the given number is a Strong Number or not.

Problem Statement

You need to write a program in C to find if the given number is a strong number or not.

How to find if the given number is a strong number ?

What is a strong number ?
A number is said to be a strong number when the sum of the factorial of a number’s individual digits are equal to the number itself.

#include<stdio.h> 
int main() 
{ 
int num,i,fact,r,sum=0,temp; 
printf("Please enter a number to find strong number"); 
scanf("%d",&num); 
  
temp=num; 
while(num) 
{ 
     i=1,fact=1; 
     r=num%10; 
  
     while(i<=r) 
     { 
        fact=fact*i; 
        i++; 
     } 
     sum=sum+fact; 
     num=num/10; 
} 
  
if(sum==temp) 
  printf("\nThe number %d is a strong number",temp); 
else 
  printf("\nThe number %d is not a strong number",temp); 
return 0; 
}