Resultan ser curiosos números que al ser multiplicados por su última cifra queda exactamente el mismo número pero con esa misma última cifra corrida hacia la izquierda; por ejemplo, tenemos que:
102.564 x 4=410.256 ¿Curioso verdad!? lo mejor es que existe una fórmula para encontrar p-parásitos
p/(10p-1) de forma que nos saldrá un número decimal; con ese número decimal omitimos la coma y truncamos en el momento en que haya un dígito que tome el valor de p (a veces no es el primero). Siguiendo el ejemplo anterior, resultaría que queremos encontrar un 4-parásito. Sustituimos en la fórmula y nos queda 4/39=0,10256410..., omitimos la coma y trunco hasta un dígito que tome el valor 4, así que nos queda, efectivamente, 102.564, que como puse más arriba es un ejemplo de número parásito(4-parásito), se puede hacer para más valores de p, pero, repito, no siempre vale con truncar hasta el primer dígito que tome el valor p, a veces hay que llegar más allá, pero el caso es que con la curiosa fórmula p/(10p-1) encontramos números parásitos.
Si no coincide el dígito de las unidades con el dígito multiplicador, se dice que el número es un pseudoparásito. Por ejemplo, 179487 es un 4-pseudoparásito, porque 179487 x 4 = 717948.
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 N_Parasito_II
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
int numero = int.Parse(textBox1.Text);
int temporal = numero, contador = 0;
List<int> c = new List<int>();
for(;;)
{
int a = temporal % 10;
temporal = temporal / 10;
if(temporal==0)
{
break;
}
c.Add(a);
contador = c.Count;
}
int b = 1;
while(contador !=0)
{
b = b * 10;
contador--;
}
int resultado = b * (numero % 10) + numero / 10;
try
{
int op = resultado / numero;
int resultadofinal = op * numero;
textBox2.Text = op.ToString() + " es el parasito de: " + numero + "\r\n";
textBox2.AppendText("ya que " + op.ToString() + " X " + numero + " es igual a: ");
textBox2.AppendText(resultadofinal.ToString());
}
catch(Exception ex)
{
MessageBox.Show("Algo no funciona");
}
}
}
}
https://ztfnews.wordpress.com/2010/12/22/los-numeros-parasitos/
https://matemelga.wordpress.com/2016/11/04/numeros-parasitos/
http://forum.lawebdefisica.com/threads/2363-n%C3%BAmeros-par%C3%A1sitos
http://www.bilbao24horas.com/index.php/de-interes-y-curiosidades/el-rincon-cientifico/11401-numeros-parasitos
http://code-puzzle.blogspot.com.es/
https://en.wikipedia.org/wiki/Parasitic_number
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.