Description:
Check if the given number is Armstrong number or not?
Armstrong numbers are the sum of their own digits to the power of the number of digits.
Code:
package com.techonol.algos; public class ArmstrongNumber { public boolean isArmstrongNumber(int number) { int tmp = number; int noOfDigits = String.valueOf(number).length(); int sum = 0; int div = 0; while (tmp > 0) { div = tmp % 10; int temp = 1; for (int i = 0; i < noOfDigits; i++) { temp *= div; } sum += temp; tmp = tmp / 10; } if (number == sum) { return true; } else { return false; } } public static void main(String a[]) { ArmstrongNumber an = new ArmstrongNumber(); System.out.println("Is 153 an Armstrong number? " + an.isArmstrongNumber(153)); System.out.println("Is 579 an Armstrong number? " + an.isArmstrongNumber(523)); System.out.println("Is 371 an Armstrong number? " + an.isArmstrongNumber(371)); } }
Output:
Is 153 an Armstrong number? true Is 579 an Armstrong number? false Is 371 an Armstrong number? true