Un número de Armstrong es un concepto clave en el campo del cifrado y descifrado para la seguridad de los datos.
El concepto general de procesar los dígitos de un número es una técnica fundamental. Puede resolver muchas tareas con este enfoque, como sumar dígitos, obtener el producto de dígitos, contar dígitos e invertir un número.
Pero, ¿qué es un número de Armstrong y cómo se prueba para uno?
¿Qué es un número de Armstrong?
Un número de Armstrong es un número cuya suma de los cubos de sus dígitos es igual al número mismo. Por ejemplo, 153 es un número de Armstrong. Si toma los dígitos de 153 individualmente y los eleva al cubo:
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Luego agrega los resultados:
1 + 125 + 27
Obtendrá 153, el mismo que el número original.
Un algoritmo para encontrar un número de Armstrong
Escribir un algoritmo es el primer paso para implementar cualquier programa. Puede usar el algoritmo como referencia para escribir pseudocódigo y luego implementarlo usando el lenguaje de programación que desee. Un algoritmo le brinda la serie exacta de instrucciones a seguir, eliminando errores lógicos y simplificando la implementación.
Aquí está el algoritmo para encontrar si un número es Armstrong o no:
- Declarar variables sum, temp, n, r
- Tome el valor de n del usuario
- Inicialice la suma variable a 0 y tome una copia de seguridad de n como temp = n
- Repita los pasos 5 - 7 mientras n > 0
- r = norte % 10
- suma = suma + cubo de cada dígito (r × r × r)
- n = n / 10
- Si la suma es igual a la temperatura, muestra "El número es un número de Armstrong"
- De lo contrario, muestra "El número no es un número de Armstrong"
Pseudocódigo para implementar el algoritmo de Armstrong
El pseudocódigo puede ser un paso útil en el diseño de la implementación de un algoritmo. Escribir el pseudocódigo te ayuda a convertirlo fácilmente en código en cualquier lenguaje de programación. Aquí está el pseudocódigo para la implementación del número de Armstrong:
El Programa Armstrong en C
Observe el pseudocódigo anterior y convierta cada declaración en código C.
Comience por importar stdio.h para realizar las operaciones de entrada y salida. declarar el principal función y comenzar a implementar la lógica del programa. Usar norte para almacenar el número de entrada, r para almacenar los dígitos individuales del número, suma para almacenar la suma de los cubos de los dígitos, y temperatura para almacenar una copia del número.
Utilizar el imprimir función para pedirle al usuario que ingrese un número. Utilizar el escanear función para leer el número y almacenarlo en variable norte. %d es el especificador de formato decimal para tomar un número entero como entrada.
Borre cualquier valor de basura inicializando sum como cero y tome una copia de seguridad de n como temp.
#incluir <stdio.h>
En tprincipal()
{
En t n, r, suma, temperatura;
imprimirf("Por favor, introduzca un número: ");
escanear("%d", &norte);
suma = 0; temperatura = n;
declarar un mientras bucle que se ejecuta hasta que el número es cero o menos. Dentro del ciclo hay un proceso de tres pasos que puede usar en varias otras tareas de programación. Los tres pasos son:
- Obtenga el dígito individual del número tomando el módulo del número con 10. Cuando divides cualquier número con 10 como un todo, el resto es el último dígito. Por ejemplo, cuando divides 153 por 10, el resultado entero es 15 y el módulo es 3.
- Cuando tenga el dígito individual, puede realizar la operación deseada. Para encontrar un número de Armstrong, la operación deseada es la suma de los cubos de los dígitos del número. Toma el cubo del dígito r y súmalo a la variable suma.
- Elimina el último dígito del número dividiéndolo por 10. Al dividir por 10, obtienes el cociente, en este caso, 15.
mientras (n > 0) {
r = n % 10;
suma = suma + (r * r * r);
n = n/10;
}
Comprueba si la suma obtenida es igual al número original. Si son iguales, el número es de hecho un número de Armstrong, de lo contrario, no lo es.
si (temp == suma)
imprimirf("El número es un número de Armstrong\n");
demás
imprimirf("El número no es un número de Armstrong\n");
devolver0;
}
Otras Aplicaciones del Algoritmo General
Al alterar el paso dos de la lógica de tres pasos que se ve arriba, puede implementar una variedad de programas.
1. Suma, Producto de Dígitos de Número
Para obtener la suma de los dígitos de un número, simplemente reemplace la línea con:
suma = suma + r;
Para el producto, declare la variable prod como 1 y reemplace la suma de la suma con un símbolo de multiplicación:
producción = producción * r;
2. Recuento de dígitos de número
A contar los dígitos de un número, simplemente inicialice un conteo variable a cero, omita el paso uno e increméntelo hasta que n sea igual a cero. La implementación del bucle se verá así:
mientras (n > 0) {
contar++;
n = n/10;
}
3. Reverso del número, número palíndromo
Para invertir un número, inicialice una variable rev a uno y súmela después de multiplicar por diez:
revolución = (rev * 10) + r;
Una vez que obtenga el reverso de un número, compárelo con la copia del número original. Si el número inverso es igual al número en sí, es un número palíndromo.
4. Dígito más pequeño y más grande de un número
Inicialice una variable min como nueve y compárela con el dígito extraído del paso uno para encontrar el dígito más pequeño de un número. Puedes implementarlo como:
si (r < min) {
mín = r;
}
De manera similar, inicialice una variable max con cero y compárela con el dígito extraído para encontrar el dígito más grande de un número. Puedes implementarlo como:
si (r > máx) {
máx = r;
}
Así es como puedes encontrar los dígitos mayor y menor de un número.
5. números especiales
Hay muchos otros números, como un número de Armstrong, que puedes calcular. Estos incluyen el número de neón, el número automórfico, el número de Krishnamurthy, el número de Buzz, el número perfecto, el número amistoso y el número primo gemelo.
Programación y Matemáticas
Las matemáticas son ampliamente utilizadas en la programación. Las matemáticas binarias son el núcleo de la programación, ya que todo el software que usa hoy en día es una combinación de los dígitos cero y uno. Todos los datos con los que trabaja se almacenan en formato binario. El álgebra lineal se usa en aplicaciones de aprendizaje automático, algoritmos gráficos, computación cuántica y más.
El cálculo, las matemáticas discretas y la estadística se utilizan ampliamente en la resolución de problemas y el diseño de algoritmos. Las matemáticas mejoran tu habilidad computacional y son una parte esencial de la programación.