Guest User

Untitled

a guest
Dec 9th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <gmp.h>
  3.  
  4. int main()
  5. {
  6.     int arr[14][2] = {
  7.         {17, 91},
  8.         {78, 85},
  9.         {19, 51},
  10.         {23, 38},
  11.         {29, 33},
  12.         {77, 29},
  13.         {95, 23},
  14.         {77, 19},
  15.         {1, 17},
  16.         {11, 13},
  17.         {13, 11},
  18.         {15, 14},
  19.         {15, 2},
  20.         {55, 1}
  21.     }, i;
  22.  
  23.     mpz_t cur, tmpmul, tmpmod, curm1;
  24.     mpz_init(cur);
  25.     mpz_init(curm1);
  26.     mpz_init(tmpmul);
  27.     mpz_init(tmpmod);
  28.     mpz_set_ui(cur, 2);
  29.  
  30.     while (1)
  31.     {
  32.         i = 0;
  33.         while (1)
  34.         {
  35.             mpz_mul_ui(tmpmul, cur, arr[i][0]);
  36.             mpz_mod_ui(tmpmod, tmpmul, arr[i][1]);
  37.             if (mpz_cmp_ui(tmpmod, 0) == 0) break;
  38.             i++;
  39.         }
  40.  
  41.         mpz_cdiv_q_ui(cur, tmpmul, arr[i][1]);
  42.  
  43.         //gmp_printf("%Zd\n", cur);
  44.  
  45.         mpz_sub_ui(curm1, cur, 1);
  46.         mpz_and(curm1, cur, curm1);
  47.  
  48.         if (mpz_cmp_ui(curm1, 0) == 0)
  49.         {
  50.             gmp_printf("%d is prime\n", mpz_scan1(cur, 0));
  51.         }
  52.     }
  53.  
  54.     return 0;
  55. }
Add Comment
Please, Sign In to add comment