using System;
// 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
namespace ConsoleApplication_C_Sharp
{
class Program
{
static void Main(string[] args)
{
int reminder, sum, tmp;
for (int n = 1; n <= 1000000; n++)
{
tmp = n;
sum = 0;
while (tmp != 0)
{
reminder = tmp % 10;
sum = sum + factorial(reminder);
tmp /= 10;
}
if (sum == n)
Console.WriteLine("{0}", n);
}
}
static int factorial(int n)
{
int fact = 1;
for (int i = 2; i <= n; i++)
fact = fact * i;
return fact;
}
}
}
/*
run:
1
2
145
40585
*/