Programa Java para exibir o número Armstrong entre dois intervalos

Neste programa, você aprenderá a exibir todos os números armstrong entre dois intervalos dados, baixo e alto, em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Java while e do … while Loop
  • Instrução Java if… else
  • Java para Loop

Um número inteiro positivo é chamado de número Armstrong de ordem n se

abcd… = a n + b n + c n + d n +…

No caso de um número Armstrong de 3 dígitos, a soma dos cubos de cada dígito é igual ao próprio número. Por exemplo:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 é um número de Armstrong. 

Este programa baseia-se no conceito de como verificar se um inteiro é um número Armstrong ou não.

Exemplo: números de Armstrong entre dois inteiros

 public class Armstrong ( public static void main(String() args) ( int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) ( int digits = 0; int result = 0; int originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++digits; ) originalNumber = number; // result contains sum of nth power of its digits while (originalNumber != 0) ( int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; ) if (result == number) System.out.print(number + " "); ) ) )

Resultado

 1634 8208 9474 54748 92727 93084 

No programa acima, cada número entre o intervalo dado alto e baixo é verificado.

Após cada verificação, o número de dígitos e o resultado da soma são restaurados para 0.

Artigos interessantes...