Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <gmp.h>
- int main()
- {
- int arr[14][2] = {
- {17, 91},
- {78, 85},
- {19, 51},
- {23, 38},
- {29, 33},
- {77, 29},
- {95, 23},
- {77, 19},
- {1, 17},
- {11, 13},
- {13, 11},
- {15, 14},
- {15, 2},
- {55, 1}
- }, i;
- mpz_t cur, tmpmul, tmpmod, curm1;
- mpz_init(cur);
- mpz_init(curm1);
- mpz_init(tmpmul);
- mpz_init(tmpmod);
- mpz_set_ui(cur, 2);
- while (1)
- {
- i = 0;
- while (1)
- {
- mpz_mul_ui(tmpmul, cur, arr[i][0]);
- mpz_mod_ui(tmpmod, tmpmul, arr[i][1]);
- if (mpz_cmp_ui(tmpmod, 0) == 0) break;
- i++;
- }
- mpz_cdiv_q_ui(cur, tmpmul, arr[i][1]);
- //gmp_printf("%Zd\n", cur);
- mpz_sub_ui(curm1, cur, 1);
- mpz_and(curm1, cur, curm1);
- if (mpz_cmp_ui(curm1, 0) == 0)
- {
- gmp_printf("%d is prime\n", mpz_scan1(cur, 0));
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment