Comprobando números de Armstrong en C++

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo comprobar si un número es un número de Armstrong o no en C++. Un número de Armstrong es un número que es igual a la suma de sus propios dígitos elevados cada uno a la potencia del número de dígitos. Este es un programa simple que puede ayudarte a practicar tus habilidades de codificación en C++.

Incluir las bibliotecas necesarias

Creamos un nuevo archivo llamado main.cpp en el directorio ~/project con el siguiente comando:

touch ~/project/main.cpp

En este paso, incluiremos las bibliotecas necesarias.

#include <iostream>
#include <cmath>
using namespace std;

La biblioteca iostream se utiliza para trabajar con flujos de entrada/salida, mientras que la biblioteca cmath agrega funcionalidad para operaciones matemáticas.

Definir la función main()

En este paso, definiremos la función main().

int main() {
    // código aquí
    return 0;
}

La función principal es el punto de entrada del programa. Todo el código que se va a ejecutar debe escribirse dentro de esta función.

Declarar e inicializar variables

En este paso, declararemos e inicializaremos las variables necesarias para el programa.

int num, originalNumber, remainder, result = 0, n = 0;
  • num es el número de entrada
  • originalNumber es el número de entrada sin modificar
  • remainder almacena el último dígito del número de entrada
  • result almacena el resultado del cálculo de Armstrong
  • n se utiliza para determinar el número de dígitos en el número de entrada

Tomar la entrada del usuario

En este paso, obtendremos el valor de entrada del usuario.

cout << "Enter a positive integer: ";
cin >> num;

Este fragmento de código toma la entrada del usuario y la almacena en la variable num.

Determinar el número de dígitos en el número de entrada

En este paso, determinaremos el número de dígitos en el número de entrada.

originalNumber = num;

// contar el número de dígitos
while (originalNumber!= 0) {
    originalNumber /= 10;
    ++n;
}

Este bloque de código cuenta el número de dígitos en el número de entrada. El número se almacena en la variable n.

Calcular el resultado

En este paso, calcularemos el resultado del cálculo de Armstrong.

originalNumber = num;

while (originalNumber!= 0) {
    remainder = originalNumber % 10;
    result += pow(remainder, n);
    originalNumber /= 10;
}

Este bloque de código itera sobre cada dígito en el número de entrada y realiza el cálculo para un número de Armstrong. El resultado se almacena en la variable result.

Comprobar el resultado

En este paso, comprobaremos si el número de entrada es un número de Armstrong o no.

if (result == num)
    cout << num << " es un número de Armstrong";
else
    cout << num << " no es un número de Armstrong";

Este bloque de código muestra el resultado del programa. Si el resultado es igual al número de entrada, el número de entrada es un número de Armstrong. De lo contrario, no lo es.

Para ejecutar el código en la terminal:

g++ main.cpp -o main && ./main

Resumen

En este laboratorio, hemos aprendido cómo comprobar si un número es un número de Armstrong o no. Hemos utilizado la biblioteca cmath para realizar los cálculos necesarios para esta tarea. También hemos aprendido cómo iterar sobre los dígitos de un número y contarlos. Con este programa básico, puedes desarrollar aún más tus habilidades de codificación en C++.