Números Armstrong





Un número es ARMSTRONG si la suma de los dígitos elevados a la cantidad de dígitos que lo componen es igual al número.

Parece ser que son llamados números Armstrong, debido al nombre de un profesor de matemáticas de la Universidad de Rochester, que durante una clase puso un ejercicio de este tipo a sus alumnos, no obstante ya habían sido identificados por algunos matemáticos (Godfrey H. Hardy), pero Armstrong fue el primero en explorar este concepto.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Armstrong_IX
    {
    public partial class Form1 : Form
        {
        public Form1()
            {
            InitializeComponent();
            }

        private void button2_Click(object sender, EventArgs e)
            {
            Application.Exit();
            }

        private void button1_Click(object sender, EventArgs e)
            {
            Armstrong n = new Armstrong();
            int c = 0, x = 0, numero;
            numero = Convert.ToInt32(textBox1.Text);           
            while (c < numero)
                {
                if (n.isArmstrong(x))
                    {                   
                     textBox2.AppendText ( Convert.ToString(x)+"\n");                   
                 c++;
                    }
                 x++;
                }
            }



        class Armstrong
            {
            public bool isArmstrong(int z)
                {
                if (z < 0) return false;
                string n = z.ToString();
                int t = 0, l = n.Length;
                foreach (char c in n)
                    t += Convert.ToInt32(Math.Pow(Convert.ToDouble(c - 48), l));
                return t == z;
                }
            }

        private void button3_Click(object sender, EventArgs e)
            {
            textBox1.Clear();
            textBox2.Clear();
            }        
        }

    }

A partir de un determinado numero, os podéis ir con toda tranquilidad a tomar un café o dos.
Creo que esto, entra más, en las curiosidades matemáticas, que dentro de ninguna utilidad real. Aunque no estaría de más, tener una contraseña que fuese un número Armstrong.





No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.