Check Armstrong Number

Check whether a number is an Armstrong number (sum of digits^number-of-digits equals the number).

JavaIntermediate
Java
import java.util.Scanner;

public class Main {
    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 digits = 0;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }

        temp = n;
        int sum = 0;
        while (temp != 0) {
            int d = temp % 10;
            int pow = 1;
            for (int i = 0; i < digits; i++) {
                pow *= d;
            }
            sum += pow;
            temp /= 10;
        }

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

        sc.close();
    }
}

Output

Enter a number: 153
153 is an Armstrong Number

We raise each digit to the power of the total digits and add them; if the sum equals the original number, it is Armstrong.