Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Programa Java para Identificar Números de Armstrong Usando Loop For

O que é um Número de Armstrong?

Um número de Armstrong (também conhecido como número narcisista) é um número que é igual à soma de seus próprios dígitos, cada um elevado à potência do número total de dígitos.

Matematicamente, para um número com dígitos x, y, … z e n dígitos, o seguinte se mantém:

xy…z = xn + yn + … + zn

Exemplos de números de Armstrong incluem:

0, 1, 4, 5, 9, 153, 371, 407, 8208, …

Programa Java para Verificar se um Número é de Armstrong

Abaixo está uma implementação Java compacta que verifica se um dado inteiro é um número de Armstrong. O algoritmo itera sobre cada dígito, acumula o cubo do dígito (já que estamos focando em números de três dígitos), e compara a soma com o número original.

// Verificar se um número é de Armstrong usando loop while
package com.guru99;
public class ArmstrongNumber {
    public static void main(String[] args) {
        int inputArmstrongNumber = 153; // Número para testar
        int tempNumber, digit, digitCubeSum = 0;
        tempNumber = inputArmstrongNumber;
        while (tempNumber != 0) {
            System.out.println("Número atual é " + tempNumber);
            digit = tempNumber % 10;
            System.out.println("Dígito atual é " + digit);
            digitCubeSum += digit * digit * digit;
            System.out.println("Soma dos cubos atual é " + digitCubeSum);
            tempNumber /= 10;
        }
        if (digitCubeSum == inputArmstrongNumber)
            System.out.println(inputArmstrongNumber + " é um Número de Armstrong");
        else
            System.out.println(inputArmstrongNumber + " não é um Número de Armstrong");
    }
}

Saída

Número atual é 153
Dígito atual é 3
Soma dos cubos atual é 27
Número atual é 15
Dígito atual é 5
Soma dos cubos atual é 152
Número atual é 1
Dígito atual é 1
Soma dos cubos atual é 153
153 é um Número de Armstrong

Programa Java para Listar Todos os Números de Armstrong de 0 a 999

O programa a seguir demonstra como enumerar todo número de Armstrong no intervalo 0-999. Ele usa um loop for para o intervalo e um loop while para processar cada candidato.

// Enumerar números de Armstrong entre 0 e 999
package com.guru99;
public class ArmstrongNumber {
    public static void main(String[] args) {
        for (int inputArmstrongNumber = 0; inputArmstrongNumber < 1000; inputArmstrongNumber++) {
            int tempNumber = inputArmstrongNumber;
            int digitCubeSum = 0;
            while (tempNumber != 0) {
                int digit = tempNumber % 10;
                digitCubeSum += digit * digit * digit;
                tempNumber /= 10;
            }
            if (digitCubeSum == inputArmstrongNumber)
                System.out.println(inputArmstrongNumber + " é um Número de Armstrong");
        }
    }
}

Saída

0 é um Número de Armstrong
1 é um Número de Armstrong
153 é um Número de Armstrong
370 é um Número de Armstrong
371 é um Número de Armstrong
407 é um Número de Armstrong

Java

  1. Java Hello World: Seu Primeiro Programa
  2. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  3. Sobrecarga de Construtores em Java – Explicado com Exemplos Práticos de Código
  4. Programa Java para Determinar se um Número é Primo
  5. Programa Java para Listar Números Primos de 1 a 100 – Guia Passo a Passo
  6. Gerar Sequência de Fibonacci em Java: Exemplos com For, While e Recursão
  7. Inverter String em Java Usando Recursão – Guia Passo a Passo
  8. Verificador de Número Palíndromo em Java: Algoritmos com While e For Loops
  9. Algoritmo Insertion Sort em Java: Exemplo Claro e Guia Passo a Passo
  10. Selection Sort em Java: Exemplo Passo a Passo e Código Completo