C++ Program To Check Strong Number or Not
Strong number is a special number whose sum of the factorial of digits
is equal to the original number.
Example:
Given Number : 145
It is a Strong Nuumber.
Since: 1! + 4! + 5! = 145
1! = 1*1 = 1
4! = 1*2*3*4 = 24
5! = 1*2*3*4*5 = 120
Example:
Given Number : 125
It is Not a Strong Nuumber.
Since:
1! + 2! + 5! = 123
1! = 1*1 = 1
2! = 1*2 = 2
5! = 1*2*3*4*5 = 120
you can use the following algorithm:
- Read the input number.
- Create a copy of the input number.
- Initialize a variable sum to 0.
- While the given number is not equal to 0,perform the following steps:
- Get the last digit of the num by using the modulo operator (%).
- Calculate the factorial of the last digit and add it to the sum.
- Divide the num by 10 to remove the last digit.
- Check if the sum is equal to the copy number.
- If they are equal, the number is a Strong Number.
Otherwise, it is not. - Print the result.
Source Code
// C++ Program To Check Strong Number or Not
#include<iostream.h>
#include<conio.h>
void main()
{
int num , Rd , i , fact , sum = 0 , ncopy ;
cout<<"Enter a Number To Check : ";
cin>>num;
ncopy=num;
while( num!=0 )
{
Rd = num % 10 ;
fact = 1;
for( i=1; i<=Rd; i++ )
{
fact = fact * i ;
}
sum = sum + fact ;
num = num / 10;
}
if ( sum==ncopy )
cout<<"It is a Strong Number . ";
else
cout<<"It is Not a Strong Number . ";
getch();
}
Output
Sample Input :
Enter a Number To Check : 145
Sample Output:
It is a Strong Number
Sample Input :
Enter a Number To Check : 123
Sample Output:
It is Not a Strong Number