Conjetura de Goldbach


Christian Goldbach

En teoría de números, la conjetura de Goldbach es uno de los problemas abiertos más antiguos en matemáticas. A veces se le califica del problema más difícil en la historia de esta ciencia. Concretamente, G.H. Hardy en 1921 en su famoso discurso pronunciado en la Sociedad Matemática de Copenhage comentó que probablemente la conjetura de Goldbach no es sólo uno de los problemas no resueltos más difíciles de la teoría de números, sino de todas las matemáticas. Su enunciado es el siguiente:
Todo número par mayor que 2 puede escribirse como suma de dos números primos. Christian Goldbach 1742




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 Goldbach
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int numero;

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

private void button1_Click(object sender, EventArgs e)
{

numero = int.Parse(textBox1.Text);

Boolean[] ePrimo = new Boolean[numero];
for (int i = 2; i < numero; i++)
ePrimo[i] = true;

//determina los primos < numero usando el algoritmo de la criba de Eratostenes.

for (int i=2; i*i < numero; i++)
{
if (ePrimo [i])
{
for (int j = i; i * j < numero; j++)
ePrimo[i * j] = false;
}
}

// Cuenta los primos

int primos = 0;
for (int i=2; i < numero; i++)
{
if(ePrimo[i])
{
primos++;
}
}





// Almacena los primos en una lista

int[] list = new int[primos];
int n = 0;
for( int i=0; i< numero; i++)
{
if (ePrimo[i])
{
list[n++] = i;
}
}

// Verifica si un numero puede ser expresado como suma de dos primos

int left = 0, right = primos - 1;
while (left <= right)
{
if (list[left] + list[right] == numero)
break;
else if
(list[left] + list[right] < numero) left++;
else
right--;
}
if (list[left] + list[right] == numero)
{
textBox2.AppendText(Convert.ToString(numero + " = " + list[left] + " + " + list[right]+" "+"\n"));
}
else
MessageBox.Show("Este numero no puede ser expresado como suma de dos números primos.",
"Error",MessageBoxButtons.OK,MessageBoxIcon.Information);
}

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



http://nautilus.fis.uc.pt/mn/goldbach/index.html

http://wims.unice.fr/wims/wims.cgi?module=tool/number/goldbach.en

https://es.wikipedia.org/wiki/Conjetura_de_Goldbach

http://gaussianos.com/la-conjetura-de-goldbach/

http://www.matematicasdigitales.com/el-gran-problema-matematico-la-conjetura-de-goldbach/

http://www.macoratti.net/16/03/net_cgdb1.htm


No hay comentarios:

Publicar un comentario

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