Programa de números Armstrong en C
Un número Armstrong es un número que equivale a la suma de los cubos de sus dígitos individuales. Por ejemplo, 153 es un número de Armstrong como:
153 = (1)3 + (5)3 + (3)3
153 = 1 + 125 + 27
153 = 153
Algoritmo
El algoritmo de este programa es muy fácil:
START
Step 1 → Take integer variable Arms
Step 2 → Assign value to the variable
Step 3 → Split all digits of Arms
Step 4 → Find cube-value of each digits
Step 5 → Add all cube-values together
Step 6 → Save the output to Sum variable
Step 7 → If Sum equals to Arms print Armstrong Number
Step 8 → If Sum not equals to Arms print Not Armstrong Number
STOP
Pseudocódigo
Podemos redactar un pseudocódigo del algoritmo anterior de la siguiente manera:
procedure armstrong : number
check = number
rem = 0
WHILE check IS NOT 0
rem ← check modulo 10
sum ← sum + (rem)3
divide check by 10
END WHILE
IF sum equals to number
PRINT armstrong
ELSE
PRINT not an armstrong
END IF
end procedure
Implementación
La implementación de este algoritmo se da a continuación. Puede cambiar el valor de la arms
variable y ejecutar y verificar su programa -
#include <stdio.h>
int main() {
int arms = 153;
int check, rem, sum = 0;
check = arms;
while(check != 0) {
rem = check % 10;
sum = sum + (rem * rem * rem);
check = check / 10;
}
if(sum == arms)
printf("%d is an armstrong number.", arms);
else
printf("%d is not an armstrong number.", arms);
return 0;
}
Salida
La salida del programa debe ser:
153 is an armstrong number.
programas_matemáticos_en_c.htm