Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <gmp.h>
- int main(void)
- {
- mpz_t x;
- mpz_init(x);
- mpz_set_ui(x,18);
- int i;
- for(i=0;i<50;++i){
- mpz_mul_2exp(x,x,1);mpz_sub_ui(x,x,1);//x->2x-1
- int last = 0;
- while(1){//BEWARE!
- int current=mpz_probab_prime_p(x,30);//The probability of a pseudoprime is (1/4)^30
- if(current&&last)break;//Miller-Rabin probabilistic test
- last=current;
- mpz_sub_ui(x,x,2);
- }
- mpz_add_ui(x,x,1);//x and x+2 are primes,so we set x->x+1
- }
- gmp_printf("%Zd\n",x);
- mpz_clear(x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment