Como verificar os números de Armstrong em Java?

Como Verificar Os Numeros De Armstrong Em Java



O ' Número de Armstrong ” fornece informações sobre padrões numéricos e propriedades matemáticas. Ajuda a entender os conceitos da teoria dos números e a explorar as relações autorreferenciais dentro dos números. Além disso, ajuda a garantir a precisão dos dados ou entrada do usuário. Pode ser útil onde a integridade da entrada é crucial.

Este blog ajuda a encontrar o número de Armstrong para os dados fornecidos.







Como verificar os números de Armstrong em Java?

O ' Número de Armstrong ” é verificado para identificar números que satisfazem uma propriedade matemática específica. Se o valor fornecido for igual à soma de seus próprios inteiros elevado à potência da contagem total de inteiros do valor fornecido.



Agora, vamos visitar alguns exemplos para melhor compreensão:



Exemplo 1: identificando os números de Armstrong





Visite o programa para verificar se o número fornecido é o número Armstrong ou não:

importar java.util.Scanner;
// Importando Utilitários Necessários.
classe pública ArmstrongChecker {
public static void principal ( Corda [ ] argumentos )
// Declarando o principal ( ) método
{
Scanner demoTest = novo Scanner ( System.in ) ;
System.out.print ( 'Digite o número para verificar: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
dígitos int = 0 ;
enquanto ( número original ! = 0 ) {
número original / = 10 ;
dígitos++;
}

int soma = 0 ;
int temp = numEle;
para ( int eu = 0 ; eu < dígitos; i++ ) {
int você = temperatura % 10 ;
soma += Math.pow ( você , dígitos ) ;
temperatura / = 10 ;
}

se ( soma == nomes ) {
System.out.println ( nomes + 'é um número de Armstrong.' ) ;
} outro {
System.out.println ( nomes + 'não Satisfaz a Condição para o Número de Armstrong.' ) ;
}
}
}


Descrição do código acima:



    • Primeiro, o objeto para o “ scanner ” é criada para recuperar um número inteiro do usuário final usando a classe “ nextInt() ” e armazene os dados recuperados em uma variável chamada “ NOMES ”.
    • Em seguida, esse valor recuperado é atribuído à variável de tipo int chamada “ número original ” e inicializa uma variável chamada “ dígitos ' com ' 0 ”.
    • Então o ' enquanto ” é usado para dividir repetidamente origNum por 10 e incrementar a variável de dígitos a cada vez até que origNum se torne 0.
    • Depois disso, declare uma variável “ soma ” e defina o valor de “ NOMES ' para o ' temperatura ' variável. E utiliza o “ para ” loop que itera até o “ dígitos ” valor variável.
    • E em cada iteração do loop “for”, o último dígito de “ temperatura ” é extraído usando o operador de módulo e armazenado em uma nova variável “ você ”. Em seguida, o cubo do dígito é adicionado ao “ soma ” usando o método Math.pow().
    • No final, o “ se/senão ” é utilizada para determinar se a soma calculada é igual ao número original fornecido pelo usuário. Se ambos os valores forem iguais, o número fornecido é um número de Armstrong e vice-versa.

Após a compilação:


A saída mostra que o número fornecido é um número de Armstrong.

Exemplo 2: Encontrar todos os números Armstrong residentes dentro do limite fornecido

Para encontrar todos os números de Armstrong para o valor ou limite fornecido, visite o código abaixo:

importar java.util.Scanner;
importar java.lang.Math;

classe pública ArmstsrongNumberExample
{
booleano estático isArmsNum ( int j ) {
buff int, singDig = 0 , fim = 0 , cálculo = 0 ;
buff =j;
enquanto ( buff > 0 ) {
buff = buff / 10 ;
singDig++;
}
lustre = j;
enquanto ( buff > 0 )
{
fim = buff % 10 ;
cálculo += ( Math.pow ( fim, canteDig ) ) ;
buff = buff / 10 ;
}
se ( j ==cálculo )
retornar verdadeiro ;
outro retornar falso ;
}
public static void principal ( Argumentos de string [ ] )
// Declarando o principal ( ) método
{
int proNum;
scanner sc = novo scanner ( System.in ) ;
System.out.print ( 'Insira o limite superior: ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Número Armstrong até o Limite fornecido' + proNum + ' são: ' ) ;
para ( int k = 0 ; k < =forNum; k++ )
se ( isArmsNum ( k ) )
System.out.print ( k+ ', ' ) ;
}
}


Explicação do código acima:

    • Primeiro, declare múltiplas variáveis ​​“buff”, “singDig”, “end” e “calc” tendo um tipo de “ int ”, dentro do método de tipo booleano chamado “ isArmsNum() ”. Ele recebe um parâmetro que é atribuído à variável chamada “ buff ”.
    • A seguir, o “ enquanto ” é declarado um loop que itera até que o valor do buff atinja “ 0 ”. Depois disso, o “ buff ” é módulo por “ 10 ” para remover o último dígito do valor fornecido e incrementar o “ singDig ' variável.
    • Então o ' enquanto ” loop é utilizado novamente sobre o “ buff ” para extrair o último dígito. O cubo do dígito é calculado utilizando a função “ Matemática. Pancada() ” método e, em seguida, adicionado ao “ calcular ' variável.
    • Agora o ' se ” é utilizada para verificar se o valor calculado no “ calcular ” variável é igual ao valor fornecido pelo usuário final ou não. Além disso, exiba a mensagem de acordo.
    • Depois disso, a entrada do usuário final é recuperada com a ajuda do “ scanner ” utilitário no “ principal() ” método.
    • No final, o “ para ” é utilizado o loop que itera até o valor fornecido, e cada iteração é chamada de “ isArmsNum() ” método. Este método recebe todos os valores até que o valor fornecido seja alcançado e verifica cada valor para o número de Armstrong.

Após a compilação:


A saída exibe todos os números de Armstrong até o valor fornecido que é “ 370 ' nesse caso.

Conclusão

Para encontrar um número de Armstrong, primeiro, conte os dígitos que o número fornecido contém. Em seguida, extraia cada dígito do número fornecido, um por um, com a ajuda de operações de módulo e divisão. Em seguida, eleve cada inteiro do valor à potência do número total de inteiros e adicione o valor resultante a uma nova variável. Por fim, verifique se o valor da variável obtida é igual ao número fornecido, se for igual então o número fornecido é um número de Armstrong, caso contrário não.