C program to print Strong Numbers in given range
#include<stdio.h>
int main()
{
int i, j, start, end, temp, lastDigit;
long long fact, sum;
printf("Enter Start Number: ");
scanf("%d",&start);
printf("Enter End Number: ");
scanf("%d",&end);
for(i=start;i<=end;i++)
{
temp = i;
sum = 0;
// Find sum of factorial of digits
while(temp > 0)
{
fact = 1;
// Get last digit of num
lastDigit = temp % 10;
// Find factorial of last digit
for(j=1;j<=lastDigit;j++)
{
fact *= j;
}
// Add factorial to sum
sum = sum + fact;
temp /= 10;
}
if(sum == i)
{
printf("%d ", i);
}
}
return 0;
}
Output
Enter Start Number: 10
Enter End Number: 50000
145 40585