Introdução
Neste laboratório, aprenderemos como verificar se um número é um número de Armstrong (Armstrong number) em C++. Um número de Armstrong é um número que é igual à soma de seus próprios dígitos, cada um elevado à potência do número de dígitos. Este é um programa simples que pode ajudá-lo a praticar suas habilidades de codificação em C++.
Incluir as bibliotecas necessárias
Criaremos um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:
touch ~/project/main.cpp
Nesta etapa, incluiremos as bibliotecas necessárias.
#include <iostream>
#include <cmath>
using namespace std;
A biblioteca iostream é usada para trabalhar com fluxos de entrada/saída (input/output streams), enquanto a biblioteca cmath adiciona funcionalidade para operações matemáticas.
Definir a função main()
Nesta etapa, definiremos a função main().
int main() {
// code here
return 0;
}
A função main é o ponto de entrada do programa. Todo o código a ser executado deve ser escrito dentro desta função.
Declarar e inicializar variáveis
Nesta etapa, declararemos e inicializaremos as variáveis necessárias para o programa.
int num, originalNumber, remainder, result = 0, n = 0;
numé o número de entrada (input number)originalNumberé o número de entrada não modificadoremainderarmazena o último dígito do número de entradaresultarmazena o resultado do cálculo de Armstrongné usado para determinar o número de dígitos no número de entrada
Obter a entrada do usuário
Nesta etapa, obteremos o valor de entrada do usuário.
cout << "Enter a positive integer: ";
cin >> num;
Este trecho de código recebe a entrada do usuário e a armazena na variável num.
Determinar o número de dígitos no número de entrada
Nesta etapa, determinaremos o número de dígitos no número de entrada.
originalNumber = num;
// count number of digits
while (originalNumber != 0) {
originalNumber /= 10;
++n;
}
Este bloco de código conta o número de dígitos no número de entrada. O número é armazenado na variável n.
Calcular o resultado
Nesta etapa, calcularemos o resultado da cálculo de Armstrong.
originalNumber = num;
while (originalNumber != 0) {
remainder = originalNumber % 10;
result += pow(remainder, n);
originalNumber /= 10;
}
Este bloco de código itera sobre cada dígito no número de entrada e realiza o cálculo para um número de Armstrong. O resultado é armazenado na variável result.
Verificar o resultado
Nesta etapa, verificaremos se o número de entrada é ou não um número de Armstrong.
if (result == num)
cout << num << " is an Armstrong number";
else
cout << num << " is not an Armstrong number";
Este bloco de código exibe o resultado do programa. Se o resultado for igual ao número de entrada, o número de entrada é um número de Armstrong. Caso contrário, não é.
Para executar o código no terminal:
g++ main.cpp -o main && ./main
Resumo
Neste laboratório, aprendemos como verificar se um número é ou não um número de Armstrong. Usamos a biblioteca cmath para realizar os cálculos necessários para esta tarefa. Também aprendemos como iterar sobre os dígitos de um número e contá-los. Com este programa básico, você pode desenvolver ainda mais suas habilidades de codificação em C++.



