#include <stdio.h>
// Strong numbers are the numbers that the sum of factorial of its digits
// is equal to the original number
// 145 is a strong number: 1 + 24 + 120 = 145
long factorial(int n);
int main(int argc, char **argv)
{
int n = 145, reminder, sum = 0, tmp;
tmp = n;
while (n)
{
reminder = n % 10;
sum = sum + factorial(reminder);
n /= 10;
}
if (sum == tmp)
printf("%d is a strong number", tmp);
else
printf("%d is not a strong number", tmp);
return(0);
}
long factorial(int n)
{
long fact = 1;
for (int i = 2; i <= n; i++)
fact = fact * i;
return fact;
}
/*
run:
145 is a strong number
*/