Números Palíndromos




Un palíndromo (del griego palin dromein, volver a ir atrás), también llamado palindromo, palíndroma o palindroma, es una palabra, número o frase que se lee igual adelante que atrás. Si se trata de un numeral, usualmente en notación indoarábiga, se llama capicúa.

La palabra capicúa (del catalán cap i cua, «cabeza y cola») (en matemáticas, número palíndromo) se refiere a cualquier número que se lee igual de izquierda a derecha que derecha a izquierda. Ejemplos: 161, 2992, 3003, 2882


Un número palindrómico es un número de n dígitos escrito en cualquier base b (bn-1bn-2...b1b0) tal que bi = bn-1-i.
Todos los números de base 10 con un dígito {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} son palindrómicos.

Es una sucesión finita, tal que el primero y el último, el segundo y el penúltimo términos... y así sucesivamente son iguales. O bien el término de orden i tiene el mismo valor que el de orden n-i.

Ejemplo: (14641) 1, 4, 6, 4, 1.

Se observa que los extremos 1 y 1 están a igual distancia del elemento central "6"; la diferencia entre ellos es cero. Los intermedios 4 y 4 asumen la misma propiedad que los anteriores. Y el 6 dista cero unidades lineales de sí mismo y su diferencia es cero. Esto es, pues, lo que se denomina la simetría capicual.

Si la suma de una progresión geométrica, con primer término 1 y razón x, se eleva a una potencia entera positiva los respectivos coeficientes se disponen en sucesión capicual.

Todo capicúa con un número par de cifras es divisible por 11.

Se obtiene el capicúa de un número sumando el número con su reverso, hasta obtener su capicúa. Ej: calcular el capicúa del número 57 57+75=132, 132+231=363

El capicúa del número 57 es 363. Todos los números tienen su capicúa.


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 Palindromo_III
    {
    public partial class Form1 : Form
        {
        public Form1()
            {
            InitializeComponent();
            }
        // Variables

        int numero1, numero2;

        private void button2_Click(object sender, EventArgs e)
            {
            numero1 = int.Parse(textBox1.Text);
            numero2 = int.Parse(textBox2.Text);
            intervalo(numero1, numero2);
            }


            bool palindromo(int n)
            {
                int i;
                for (i = 0; i < n.ToString().Length / 2; i++)
                    if (n.ToString()[i] !=
                        n.ToString()[n.ToString().Length - i - 1])
                        break;
                if (i + 1 > n.ToString().Length / 2)
                    return true;
                else return false;
                }

            void intervalo(int numero1, int numero2)
               {
                   for (int num = numero1; num <= numero2; num++)
                       if (palindromo(num))
                           textBox3.AppendText((num).ToString() + "\t");
               }

        private void button3_Click(object sender, EventArgs e)
            {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            }

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

No hay comentarios:

Publicar un comentario

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