Check Strong Number

Check whether a number is a strong number (sum of factorials of digits equals the number).

JavaIntermediate
Java
import java.util.Scanner;

public class Main {
    private static int factorial(int n) {
        int fact = 1;
        for (int i = 2; i <= n; i++) {
            fact *= i;
        }
        return fact;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("Enter a number: ");
        int n = sc.nextInt();

        int temp = n;
        int sum = 0;
        while (temp != 0) {
            int d = temp % 10;
            sum += factorial(d);
            temp /= 10;
        }

        if (sum == n) {
            System.out.println(n + " is a Strong Number");
        } else {
            System.out.println(n + " is not a Strong Number");
        }

        sc.close();
    }
}

Output

Enter a number: 145
145 is a Strong Number

We compute factorial of each digit and add them; if the sum equals the original number, it is strong.