C Program to Generate Strong Numbers in an Interval
Strong numbers are those numbers whose sum of factorial of each digits is equal to the original number. For example 1 is strong number because 1!=1, 2 is strong number i.e. 2! = 2, 145 is strong number i.e. 1! + 4! + 5! = 1 + 24 + 120 = 145 etc.
In this C program, we are going to generate all strongs number in a given ranges from minimum to maximum. Values of minimum and maximum are inputted by user.
Program
#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);
/* Generating Strong Numbers */
for(i=minimum; i<=maximum; i++)
{
number = i;
sum = 0;
while(number != 0)
{
rem = number%10;
/* Finding Factorial */
fact = 1;
for(j=1;j<=rem; j++)
{
fact = fact * j;
}
sum = sum + fact;
number = number/10;
}
/* Making Decision */
if(sum == i)
{
printf("%ld\t", i);
}
}
getch();
return(0);
}
Output of the above program :
Enter minimum: 1 ↲ Enter maximum: 99999 ↲ 1 2 145 40585 Note: ↲ indicates enter is pressed.