Me hicieron acordar de este artículo, es muy bueno tanto si les gusta la programación como si no:2012/11/29 Horacio J. Peña <horape@highconnection.com.ar>
Con una implementacion elemental de la criba de Erastotenes en una maquina
más bien viejita (AMD Sempron(tm) Processor 2800+) tardó 7 segundos en calcularlo.
horape@rocinante:~$ cat primos.cpp
#include <cstdio>
char criba[60000000] = {0};
main()
{
int n=0;
for (int i=2;i<sizeof(criba)/sizeof(criba[0]);++i) {
if (!criba[i]) {
++n;
if (n==3000000) {
printf("primo %d = %d\n", n, i);
break;
}
for (int j=i;j<sizeof(criba)/sizeof(criba[0]);j+=i)
criba[j] = 1;
}
}
}
(El 60000000 es numero magico, estimado con x/ln(x) y tirado bastante para arriba por las dudas)
Saludos,
H
On Thu, Nov 29, 2012 at 07:58:31PM +0100, Paco Moya wrote:
> El día 29 de noviembre de 2012 00:12, José H. Nieto
> <jhnieto@gmail.com> escribió:
> > Maple 16 en un i3 con Windows 7 responde instantáneamente
> >
> > ithprime(3000000);
> > 49979687
> >
> > Al menos los dos dan el mismo resultado!
> >
> > jhn
> >
>
> Hola
> ¿Utiliza una base de datos o archivo con algunos millones de primos?
> Si no es el caso, ¿cómo lo hace?
> Por cierto, si utilizamos a aproximación de Gauss: Pi(x) aprox=
> x/ln(x) y resolvemos numéricamente 3·10^6*ln(x)=x obtenemos x=
> 53378771 que es una aproximación aceptable ¿?
> Si utilizamos la aproximación de Legendre Pi(x) aprox=
> x/(ln(x)-1,08366) obtenemos x= 49.927.253 que está mucho mejor.
> Hay otra aproximación aún mejor debida a Rieman
> Pi(x) aprox= 1+ suma((ln(x)^n/(n·n!·zeta(n+1),n=1 a inf) con zeta la
> función zeta de Rieman ¡!
> Con ésa obtengo x= 49.981.078
> Estas aproximaciones vienen en un artículo de Don Zagier llamado "Los
> primeros 50 millones de números primos"
> Si alguien lo quiere en pdf se lo mando.
> Un saludo
> _______________________________________
> Snark
> Más información en http://www.snarkianos.com
> http://mailman.uba.ar/mailman/listinfo/snark
--
Horacio J. Peña
horape@compendium.com.ar
horape@uninet.edu
_______________________________________
Snark
Más información en http://www.snarkianos.com
http://mailman.uba.ar/mailman/listinfo/snark
--
Persevera y perseverarás
_______________________________________
Snark
Más información en http://www.snarkianos.com
http://mailman.uba.ar/mailman/listinfo/snark