Primos gemelos y la Constante de Brun

Andrés Bernal

/*ESTE PROGRAMA NOS PERMITE CONOCER LAS PAREJAS DE NÚMEROS GEMELOS QUE HAY POR DEBAJO DE UN NÚMERO INTRODUCIDO POR EL USUARIO, Y A PARTIR DE DE ESTOS PRIMOS CALCULA UNA APROXIMACIÓN A LA CONSTANTE DE BRUN (SUMA DE LOS INVERSOS DE LOS PRIMOS GEMELOS SIN CONTAR LA PAREJA 1-3). EL CÁLCULO MAS APROXIMADO DE ESTA CONSTANTE HASTA EL MOMENTO ES 1.90216058 (TODOS LOS PRIMOS GEMELOS HASTA 10^16), COMO EN UN ORDENADOR NORMAL NO PODEMOS OPERAR CON CIFRAS TAN ALTAS EL RESULTADO NO SERA JUSTAMENTE ESE NÚMERO (1.7 y pico aprox.)*/

#include <iostream>
#include <math.h>
#include<cstdlib>
using namespace std;

int primo (int num);

int main()
{
int n,p,q;
float i,k,suma1,suma2,suma_tot;

k=1.00+(1.00/3.00);
suma1=0;
suma2=0;
cout << "INTRODUZCA UN TOPE: ";
cin >> n;
for(i=0;i<n;i++)
{
p=primo(i);
q=primo(i+2);
if((p==1)&&(q==1))
{
cout << i << "\t" << i+2 << endl;
suma1=(1/i)+suma1;
suma2=(1/(i+2))+suma2;
}
}
cout << endl << endl;
system("PAUSE");
cout << endl << "LA APROXIMACION A LA CONSTANTE DE BRUN CALCULADA
      A PARTIR DE LOS PRIMOS GEMELOS POR DEBAJO DE " << n << " ES: ";
suma_tot=suma1+suma2-k;
cout << suma_tot << endl << endl;

return 0;
}

int primo (int num)
{
int i;
double x;

if(num%2==0)
{
if(num==2)
{return 1;}
else
{return 0;}
}
else
{
x = sqrt(num);
i = 3;
while ((i <= x) && (num % i != 0))
{
i = i + 2;
}
if (i > x)
{return 1;}
else
{return 0;}
}
}
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s