Check if the given number is Armstrong number or not?

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

 

<< Previous Program | Next Program >>

error: Content is protected !!