Saturday, September 6, 2025
HomeLanguagesJavaJava Program to Check Armstrong Number between Two Integers

Java Program to Check Armstrong Number between Two Integers

A positive integer with digits p, q, r, s…, is known as an Armstrong number of order n if the following condition is fulfilled.

pqrs... = pn + qn + rn + sn +....

Example:

370 = 3*3*3 + 7*7*7 + 0 
   =  27 + 343 + 0
   =  370

Therefore, 370 is an Armstrong number.

Examples:

Input : 100 200
Output :153
Explanation : 100 and 200 are given  
two integers.
 153 = 1*1*1 + 5*5*5 + 3*3*3  
     = 1 + 125 + 27
     =  153
Therefore, only 153 is an Armstrong number between 100 and 200.

Approach:

Firstly, we will traverse through all the numbers in the given range. Then, for every number, we have to count the number of digits in it. If the number of digits in the current number is n then, find the sum of (n-th) power of all the digits in the number stated. And if the sum is equal to the current number i, then print the number.

Example:

Java




// JAVA program to find Armstrong
// numbers between two integers
import java.io.*;
import java.math.*;
  
class gfg {
  
    // Function to print Armstrong
    // Numbers between two integers
    static void ArmstrongNum(int l, int h)
    {
        for (int j = l + 1; j < h; ++j) {
  
            // Calculating number of digits
            int y = j;
            int N = 0;
            while (y != 0) {
                y /= 10;
                ++N;
            }
  
            // Calculating the sum of nth
            // power of all the digits
            int sum_power = 0;
            y = j;
            while (y != 0) {
                int d = y % 10;
                sum_power += Math.pow(d, N);
                y /= 10;
            }
  
            // Checking if the current number
            // i is equal to the sum of nth
            // power of all the digits
            if (sum_power == j)
                System.out.print(j + " ");
        }
    }
  
    // The Driver code
    public static void main(String args[])
    {
        int n1 = 50;
        int n2 = 500;
        ArmstrongNum(n1, n2);
        System.out.println();
    }
}


Output

153 370 371 407 

Similarly, we can find Armstrong numbers within any given range.

RELATED ARTICLES

Most Popular

Dominic
32270 POSTS0 COMMENTS
Milvus
82 POSTS0 COMMENTS
Nango Kala
6639 POSTS0 COMMENTS
Nicole Veronica
11803 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11869 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6704 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS