How to print all 3 digits armstrong numbers in Java

1 Answer

0 votes
// Armstrong = a number that equals the sum of its digits, 
//             each raised to a power of the number of digits
// For example 153, it's an Armstrong number because 1^3 + 5^3 + 3^3 = 153
 
public class MyClass {
    public static boolean armstrong(int n) {
        int reminder = 0, sum = 0, total_digits = (int)Math.log10(n) + 1;;
        int temp = n;
      
        while (temp > 0) {
            reminder = temp % 10;
            sum += (int)Math.pow(reminder, total_digits);
            temp = temp / 10;
        }
 
        if (sum == n) {
            return true;
        }
         
        return false;
    }
    
    public static void main(String args[]) {
        for (int i = 100; i <= 999; i++) {
            if (armstrong(i)) {
                System.out.print(i + ", ");
            }
        }
    }
}
   
   
   
   
/*
run:
   
153, 370, 371, 407, 
   
*/

 



answered Dec 26, 2023 by avibootz

Related questions

1 answer 125 views
1 answer 107 views
1 answer 104 views
1 answer 146 views
1 answer 129 views
1 answer 183 views
1 answer 185 views
...