SPEED Twin Godlbach
Di Maria Giovanni
calimero22 at yahoo.it
Wed Nov 24 09:23:07 CET 2010
Hi
I'm searching for the number of "Goldbach Twin Pairs".I'm trying with GMP and Pari/GP.
Why is PAri/GP FASTER than GMP ???Thank youRegardsGiovanni
Here are the codes:
-----------------------GMP---------------------------------#define PRECISIONEPRIME 5#include <stdio.h>#include <gmp.h>int main() { mpz_t n,p,limite,p1,p2,conteggio; int fine; mpz_init(n); mpz_init(p); mpz_init(limite); mpz_init(p1); mpz_init(p2); mpz_init(conteggio);
printf("Metti N (pari) "); gmp_scanf("%Zd",n);
mpz_divexact_ui(limite,n,2); mpz_set_ui(p,3); while(1) { mpz_set(p1,p); mpz_sub(p2,n,p); if(mpz_probab_prime_p(p1,PRECISIONEPRIME)>0 && mpz_probab_prime_p(p2,PRECISIONEPRIME)>0) mpz_add_ui(conteggio,conteggio,1); mpz_add_ui(p,p,2); if(mpz_cmp(p,limite)>0) break; } gmp_printf("Il numero %Zd e' formato da %Zd coppie di Goldbach\n",n,conteggio); mpz_clear(n); mpz_clear(p); mpz_clear(limite); mpz_clear(p1); mpz_clear(p2); mpz_clear(conteggio);
printf("Digita 0 per finire "); scanf("%d",&fine);
return(0);}
------------------------------------PARI/GP----------------------------------{n=200560490130;print("Metti N PARI ");n=input();s=0;limite=n\2;forstep(p=3,limite,2, p1=n-p; if(isprime(p) && isprime(p1), s++; ););print("TOT=",s);}
------------------------------------------------------------
More information about the gmp-discuss
mailing list