Programa C para mostrar el número Armstrong entre dos intervalos

En este ejemplo, aprenderá a encontrar todos los números Armstrong entre dos números enteros ingresados ​​por el usuario.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • C if … else Statement
  • C para bucle

Un entero positivo se llama número de Armstrong (de orden n) si

 abcd… = an + bn + cn + dn + 

En el caso de un número Armstrong de 3 dígitos, la suma de los cubos de cada dígito es igual al número en sí. Por ejemplo, 153 es un número de Armstrong porque

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 

Antes de probar este programa, aprenda a verificar si un número entero es un número Armstrong o no.

Números Armstrong entre dos enteros

 #include #include int main() ( int low, high, number, originalNumber, rem, count = 0; double result = 0.0; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Armstrong numbers between %d and %d are: ", low, high); // iterate number from (low + 1) to (high - 1) // In each iteration, check if number is Armstrong for (number = low + 1; number < high; ++number) ( originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++count; ) originalNumber = number; // result contains sum of nth power of individual digits while (originalNumber != 0) ( rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; ) // check if number is equal to the sum of nth power of individual digits if ((int)result == number) ( printf("%d ", number); ) // resetting the values count = 0; result = 0; ) return 0; )

Salida

 Ingrese dos números (intervalos): 200 2000 Los números de Armstrong entre 200 y 2000 son: 370371407 1634 

En el programa, el ciclo externo se itera de (bajo + 1) a (alto - 1) . En cada iteración, se comprueba si el número es un número de Armstrong o no.

Dentro del ciclo externo, el número de dígitos de un entero se calcula primero y se almacena en count. Y la suma de la potencia de los dígitos individuales se almacena en la variable de resultado.

Si el número es igual a result, el número es un número de Armstrong.

Nota: debe restablecer el recuento y el resultado a 0 en cada iteración del ciclo externo.

Articulos interesantes...