Cómo usar un programa C para verificar números Armstrong

Escrito por gary sims | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo usar un programa C para verificar números Armstrong
Usa Visual C++ para escribir un programa C para verificar si un número es un número Armstrong. (Jupiterimages/Photos.com/Getty Images)

Un número Armstrong es un número entero que es igual a la suma de las potencias de n de sus dígitos, donde n es el número de dígitos. Un ejemplo sencillo es 5. Es de un dígito. 5 a la potencia de 1 es 5. Un ejemplo más complejo es 407. Tiene 3 dígitos. 4 a la potencia de 3 (64) más 0 a la potencia de 3 (0) más 7 a la potencia de 3 (343) es igual a 407. Estos cálculos son sencillos de realizar usando un programa C. Un sencillo programa Microsoft Visual C++ demuestra esto con sólo unas pocas líneas de código.

Nivel de dificultad:
Moderado

Otras personas están leyendo

Necesitarás

  • Microsoft Visual C++ 2010 Express

Lista completaMinimizar

Instrucciones

  1. 1

    Haz clic en el icono "Inicio" de Windows, selecciona "Todos los programas" y "Microsoft Visual Studio 2010 Express". Haz clic en "Microsoft Visual C++ 2010 Express".

  2. 2

    Haz clic en el menú "Archivo" y navega a "Nuevo". Pulsa "Proyecto" para abrir el nuevo diálogo de proyecto.

  3. 3

    Haz clic en "Win32" en la vista de árbol de las plantillas instaladas en la parte izquierda del diálogo. Haz clic en "Aplicación de consola de Win32". Introduce un nombre para el proyecto (por ejemplo, "armstrong") en el campo "Nombre:" en la parte inferior del diálogo. Haz clic en "Aceptar" para abrir el diálogo "Asistente de aplicación de Win32". Haz clic en "Finalizar". Aunque esto es un proyecto en C++, el código del siguiente paso es C.

  4. 4

    Cambia el código predeterminado que aparece en el editor con el código siguiente:

    include "stdafx.h"

    include <stdio.h>

    include <string.h>

    include <math.h>

    int main () { int x=0,y=0,sum=0; int n,l; char num[64];

    / Pide un número / printf("Por favor, introduce un número: "); scanf_s("%d", &n);

    / Calcular el número de dígitos transformándolo
    /
    en una cadena */ sprintf_s(num, "%d", n); l = strlen(num);

    / Calcula la suma de potencias de l de sus dígitos / y = n; while (y > 0) { x=y%10; sum=sum+(int) pow((float) x, l); y=y/10; }

    / ¿La suma de las potencias es la misma que el número original? / if(sum==n) printf("%d is an Armstrong number.\n", n); else printf("%d is not an Armstrong number.\n", n);

    return 0; }

  5. 5

    Pulsa "F7" o haz clic en el menú "Depurador" y "Crear solución" para compilar el programa y mostrar el resultado en la ventana de salida en la parte inferior de Visual C++:

    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

    Si el resultado es "0 succeeded" seguido de un número de fallos, comprueba el código que has introducido y asegúrate de que es igual al código del paso 4.

  6. 6

    Pulsa "Ctrl+F5" para ejecutar el programa. Introduce un número entero cuando aparezca una ventana con una consola negra y te lo pida. El resultado del cálculo se mostrará.

Consejos y advertencias

  • El mismo código funcionará en Linux y Mac OS X usando GCC (GNU compiler collection). Crea armstrong.c en tu editor favorito y añade el código del paso 4, omitiendo la línea: #include "stdafx.h" y cambiando sprintf_s and scanf_s por sprintf y scanf respectivamente.
  • Para compilar el código, usa el comando "gcc armstrong.c".
  • Para ejecutar el código, usa "./a.out".

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles