Antes de escrever o programa para verificar se o número é Armstrong ou não, vamos en-tender o que é Armstrong número.
O número de Armstrong é um número igual à soma dos cubos de seus dígitos. Por exem-plo, 0, 1, 153, 370, 371 e 407 são os números de Armstrong.
Vamos tentar entender por que 371 é um número de Armstrong:
371 = (3*3*3)+(7*7*7)+(1*1*1)
Onde:
(3*3*3)=27
(7*7*7)=343
(1*1*1)=1
Então:
27+343+1=371
Vejamos agora um exemplo para verificar o Número de Armstrong:
1. #include <iostream>
2. using namespace std;
3. int main ()
4. {
5. int n, r, soma = 0, temp;
6. cout << "Digite um número qualquer: ";
7. cin >> n;
8. temp = n;
9. while (n> 0)
10. {
11. r = n% 10;
12. soma = soma + (r * r * r);
13. n = n / 10;
14. }
15. if (temp == soma)
16. cout << "É um número de Armstrong." << endl;
17. else
18. cout << "Não é um número de Armstrong." << endl;
19. return 0;
20. }
Resultado:
Digite um número qualquer: 371.
É um número de Armstrong.
Digite um número qualquer: 342.
Não é um número de Armstrong.
|