#include<stdio.h>
#include<conio.h>
int main()
{
long int minimum, maximum, number, sum, fact, rem, i, j;
clrscr();
printf("Enter minimum: ");
scanf("%ld", &minimum);
printf("Enter maximum: ");
scanf("%ld", &maximum);
for(i=minimum; i<=maximum; i++)
{
number = i;
sum = 0;
while(number != 0)
{
rem = number%10;
fact = 1;
for(j=1;j<=rem; j++)
{
fact = fact * j;
}
sum = sum + fact;
number = number/10;
}
if(sum == i)
{
printf("%ld\t", i);
}
}
getch();
return(0);
}
Output
Enter minimum: 1 ↲
Enter maximum: 99999 ↲
1 2 145 40585