Um número Armstrong é um conceito-chave no campo de criptografia e descriptografia para segurança de dados.
O concepção universal de processamento dos dígitos de um número é uma técnica fundamental. Você pode resolver muitas tarefas com essa abordagem, uma vez que somar dígitos, obter o resultado de dígitos, descrever dígitos e inverter um número.
Mas o que é um número de Armstrong e uma vez que 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
Grafar um algoritmo é o primeiro passo para implementar qualquer programa. Você pode usar o algoritmo uma vez que referência para redigir 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.
Cá está o algoritmo para desenredar se um número é Armstrong ou não:
- Declarar variáveis sum, temp, n, r
- Pegue o valor de n do usuário
- Inicialize a soma da variável uma vez que 0 e faça backup de n uma vez que temp = n
- Repita as etapas 5 a 7 enquanto n > 0
- r = n% 10
- soma = soma + cubo de cada dígito (r × r × r)
- n = n / 10
- Se soma for igual a temp, exibe “Número é um número de Armstrong”
- 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 lanço útil no projeto da implementação de um algoritmo. Grafar o pseudocódigo ajuda a convertê-lo facilmente em código em qualquer linguagem de programação. Cá está o pseudocódigo para a implementação do número de Armstrong:
O Programa Armstrong em C
Observe o pseudocódigo supra e converta cada instrução em código C.
Comece importando stdio.h para executar as operações de ingressão e saída. Declare o a Principal função e encetar a implementar a lógica do programa. Usar n para armazenar o número de ingressão, 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 imitação 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 uma vez que ingressão.
Limpe qualquer valor de lixo inicializando a soma uma vez que zero e faça um backup de n uma vez que temp.
#include <stdio.h>
int main()
{
int n, r, sum, temp;
printf("Please enter a number: ");
scanf("%d", &n);
sum = 0; temp = 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:
- 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 uma vez que um todo, o restante é o próprio último dígito. Por exemplo, quando você divide 153 por 10, o resultado inteiro é 15 e o módulo é 3.
- 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.
- Elimine o último dígito do número dividindo-o por 10. Na repartição por 10, obtém-se o quociente, neste caso, 15.
while (n > 0) {
r = n % 10;
sum = sum + (r * r * r);
n = n / 10;
}
Verifique se a soma obtida é igual ao número original. Se forem iguais, o número é de roupa um número de Armstrong, caso contrário, não é.
if (temp == sum)
printf("Number is an Armstrong numbern");
else
printf("Number is not an Armstrong numbern");
return 0;
}
Outras Aplicações do Algoritmo Universal
Ao mudar a segunda lanço da lógica de três etapas vista supra, você pode implementar uma variedade de programas.
1. Soma, Resultado de Dígitos de Número
Para obter a soma dos dígitos de um número, basta substituir a risca por:
sum = sum + r;
Para o resultado, declare a variável prod uma vez que 1 e substitua a soma da soma por um símbolo de multiplicação:
prod = prod * r;
2. Resenha de dígitos do número
Para descrever os dígitos de um número, basta inicializar uma variável count uma vez que zero, omitir a lanço um e incrementá-la até que n seja igual a zero. A implementação do loop ficará assim:
while (n > 0) {
count++;
n = n / 10;
}
3. Revirado do número, número palíndromo
Para inverter um número, inicialize uma variável rev para um e adicione-a em seguida multiplicar por dez:
rev = (rev * 10) + r;
Depois de obter o revirado de um número, compare-o com a imitação do próprio número original. Se o número revirado for igual ao próprio número, é um número palíndromo.
4. Menor e maior dígito de um número
Inicialize uma variável min uma vez que nove e compare-a com o dígito tirado da lanço um para encontrar o menor dígito de um número. Você pode implementá-lo uma vez que:
if (r < min) {
min = r;
}
Da mesma forma, inicialize uma variável max com zero e compare-a com o dígito tirado para encontrar o maior dígito de um número. Você pode implementá-lo uma vez que:
if (r > max) {
max = r;
}
É logo que você pode encontrar o maior e o menor dígito de um número.
5. Números especiais
Existem muitos outros números, uma vez que 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 estágio de máquina, algoritmos de grafos, computação quântica e muito mais.
Cômputo, 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 secção precípuo da programação.