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