Exemplo para encontrar todos os números Armstrong entre dois inteiros (inseridos pelo usuário) usando loops e instrução if… else.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:
- C ++ if, if … else e aninhado if … else
- C ++ para Loop
Este programa pede ao usuário para inserir dois inteiros e exibe todos os números Armstrong entre o intervalo dado.
Se você não sabe como verificar se um número é Armstrong ou não na programação, este programa pode parecer um pouco complexo.
Visite esta página para saber mais sobre o número Armstrong e como verificá-lo na programação C ++.
Exemplo: Exibir o número Armstrong entre os intervalos
#include using namespace std; int main() ( int num1, num2, i, num, digit, sum; cout <> num1; cout <> num2; cout << "Armstrong numbers between " << num1 << " and " << num2 << " are: " << endl; for(i = num1; i 0; num /= 10) ( digit = num % 10; sum = sum + digit * digit * digit; ) if(sum == i) ( cout << i << endl; ) ) return 0; )
Resultado
Insira o primeiro número: 100 Insira o segundo número: 400 Os números Armstrong entre 100 e 400 são: 153 370 371
Neste programa, presume-se que o usuário sempre insere o número menor primeiro.
Este programa não executará a tarefa pretendida se o usuário inserir um número maior primeiro.
Você pode adicionar o código para trocar dois números inseridos pelo usuário se o usuário inserir um número maior primeiro para fazer este programa funcionar corretamente.
Neste programa, cada número entre o intervalo é obtido e armazenado na variável num. Em seguida, cada dígito do número é recuperado em dígitos e em cubos (3).
O resultado ao cubo é adicionado ao resultado ao cubo da soma do último dígito.
Finalmente, quando cada dígito é percorrido, a soma é comparada com o número original i. Se eles forem iguais, o número é um número armstrong.