Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Um número Armstrong é um conceito-chave no campo de criptografia e descriptografia para segurança de dados.

O conceito geral de processamento dos dígitos de um número é uma técnica fundamental. Você pode resolver muitas tarefas com essa abordagem, como somar dígitos, obter o produto de dígitos, contar dígitos e inverter um número.

Mas o que é um número de Armstrong e como você testa um?

O que é um número de Armstrong?

Um número de Armstrong é um número cuja soma dos cubos de seus dígitos é igual ao próprio número. Por exemplo, 153 é um número de Armstrong. Se você pegar os dígitos de 153 individualmente e cubrá-los:

(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)

Em seguida, adicione os resultados:

1 + 125 + 27

Você obterá 153, o mesmo que o número original.

Um algoritmo para encontrar um número de Armstrong

Escrever um algoritmo é o primeiro passo para implementar qualquer programa. Você pode usar o algoritmo como referência para escrever pseudocódigo e implementá-lo usando a linguagem de programação desejada. Um algoritmo fornece a série exata de instruções a seguir, eliminando erros de lógica e simplificando a implementação.

instagram viewer

Aqui está o algoritmo para descobrir se um número é Armstrong ou não:

  1. Declarar variáveis ​​sum, temp, n, r
  2. Pegue o valor de n do usuário
  3. Inicialize a soma da variável como 0 e faça backup de n como temp = n
  4. Repita as etapas 5 a 7 enquanto n > 0
  5. r = n% 10
  6. soma = soma + cubo de cada dígito (r × r × r)
  7. n = n / 10
  8. Se soma for igual a temp, exibe "Número é um número de Armstrong"
  9. Caso contrário, exiba "O número não é um número de Armstrong"

Pseudocódigo para implementar o algoritmo de Armstrong

O pseudocódigo pode ser uma etapa útil no projeto da implementação de um algoritmo. Escrever o pseudocódigo ajuda a convertê-lo facilmente em código em qualquer linguagem de programação. Aqui está o pseudocódigo para a implementação do número de Armstrong:

O Programa Armstrong em C

Observe o pseudocódigo acima e converta cada instrução em código C.

Comece importando stdio.h para executar as operações de entrada e saída. Declare o principal função e começar a implementar a lógica do programa. Usar n para armazenar o número de entrada, r para armazenar os dígitos individuais do número, soma para armazenar a soma dos cubos dos dígitos, e temperatura para armazenar uma cópia do número.

Use o printf função para solicitar ao usuário que insira um número. Use o scanf função para ler o número e armazená-lo na variável n. %d é o especificador de formato decimal para receber um número inteiro como entrada.

Limpe qualquer valor de lixo inicializando a soma como zero e faça um backup de n como temp.

#incluir <stdio.h>

intprincipal()
{
int n, r, soma, temp;
printf("Por favor, coloque um numero: ");
scanf("%d", &n);
soma = 0; temperatura = n;

Declare um enquanto loop que é executado até que o número seja zero ou menos. Dentro do loop há um processo de três etapas que você pode usar em várias outras tarefas de programação. As três etapas são:

  1. Obtenha o dígito individual do número tomando o módulo do número com 10. Quando você divide qualquer número com 10 como um todo, o resto é o próprio último dígito. Por exemplo, quando você divide 153 por 10, o resultado inteiro é 15 e o módulo é 3.
  2. Quando você tiver o dígito individual, poderá realizar a operação desejada. Para encontrar um número de Armstrong, a operação desejada é a soma dos cubos dos dígitos do número. Pegue o cubo do dígito r e adicione-o à variável soma.
  3. Elimine o último dígito do número dividindo-o por 10. Na divisão por 10, obtém-se o quociente, neste caso, 15.
enquanto (n > 0) {
r = n % 10;
soma = soma + (r * r * r);
n = n/10;
}

Verifique se a soma obtida é igual ao número original. Se forem iguais, o número é de fato um número de Armstrong, caso contrário, não é.

if (temperatura == soma)
printf("O número é um número de Armstrong\n");
outro
printf("O número não é um número de Armstrong\n");

retornar0;
}

Outras Aplicações do Algoritmo Geral

Ao alterar a segunda etapa da lógica de três etapas vista acima, você pode implementar uma variedade de programas.

1. Soma, produto dos dígitos do número

Para obter a soma dos dígitos de um número, basta substituir a linha por:

soma = soma + r;

Para o produto, declare a variável prod como 1 e substitua a soma da adição por um símbolo de multiplicação:

produto = produto * r;

2. Contagem de dígitos do número

Para contar os dígitos de um número, simplesmente inicialize uma variável count como zero, omita a etapa um e a incremente até que n seja igual a zero. A implementação do loop ficará assim:

enquanto (n > 0) {
contar++;
n = n/10;
}

3. Reverso do número, número palíndromo

Para inverter um número, inicialize uma variável rev para um e adicione-a após multiplicar por dez:

rev = (rev * 10) + r;

Depois de obter o reverso de um número, compare-o com a cópia do próprio número original. Se o número reverso for igual ao próprio número, é um número palíndromo.

4. O menor e o maior dígito de um número

Inicialize uma variável min como nove e compare-a com o dígito extraído da etapa um para encontrar o menor dígito de um número. Você pode implementá-lo como:

se (r < min) {
min = r;
}

Da mesma forma, inicialize uma variável max com zero e compare-a com o dígito extraído para encontrar o maior dígito de um número. Você pode implementá-lo como:

se (r > máximo) {
máx = r;
}

É assim que você pode encontrar o maior e o menor algarismo de um número.

5. números especiais

Existem muitos outros números, como um número de Armstrong, que você pode calcular. Estes incluem o número Neon, o número Automórfico, o número Krishnamurthy, o número Buzz, o número Perfeito, o número Amigável e o número primo Gêmeo.

Programação e Matemática

A matemática é amplamente utilizada na programação. A matemática binária é o núcleo da programação, pois todo o software que você usa hoje é uma combinação dos dígitos zero e um. Todos os dados com os quais você trabalha são armazenados em formato binário. A álgebra linear é usada em aplicativos de aprendizado de máquina, algoritmos de grafos, computação quântica e muito mais.

Cálculo, matemática discreta e estatística são amplamente usados ​​na solução de problemas e no projeto de algoritmos. A matemática aprimora sua habilidade computacional e é uma parte essencial da programação.