C program to print all Strong Numbers between 1 to n
#include<stdio.h>
int main()
{
int i, j, number, temp, lastDigit;
long long fact, sum;
printf("Enter Number: ");
scanf("%d",&number);
for(i=1;i<=number;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 Number: 150
1 2 145