How to check if a number is strong number or not in Java

1 Answer

0 votes
// Strong numbers are the numbers that the sum of factorial of its digits 
// is equal to the original number
  
// 145 is a strong number: 1 + 24 + 120 = 145
 
public class NumberIsStrongNumber_Java {
    public static int factorial(int n) {
        int fact = 1;
  
        for (int i = 2; i <= n; i++) {
             fact = fact * i;
        }
  
        return fact;
    }
  
    public static void main(String[] args) {
         
        int n = 145, reminder, sum = 0, tmp;
  
        tmp = n;
  
        while (n != 0) {
            reminder = n % 10;
            sum = sum + factorial(reminder);
            n /= 10;
        }
        
        if (sum == tmp)
            System.out.format("%d is a strong number\n", tmp);
        else
            System.out.format("%d is not a strong number\n", tmp);
    }
}


    
/*
run:
   
145 is a strong number
    
*/

 



answered May 9, 2017 by avibootz
edited Oct 7, 2024 by avibootz

Related questions

1 answer 117 views
1 answer 175 views
1 answer 566 views
1 answer 1,512 views
1 answer 159 views
1 answer 511 views
1 answer 163 views
...