Advertisement
Guest User

Untitled

a guest
Mar 8th, 2021
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2. #include "gmp/gmp.h"
  3. #include "gmp/gmpxx.h"
  4. #include <vector>
  5. #include <stdio.h>
  6. #include <fstream>
  7. #include <string>
  8.  
  9. int main()
  10. {
  11.         std::cout << "reading data\n";
  12.  
  13.         std::vector<int> data;
  14.  
  15.         std::ifstream file;
  16.         std::string line;
  17.  
  18.         file.open("out.txt");
  19.         if (!file.is_open())
  20.         {
  21.                 std::cout << "failed to open\n";
  22.         }
  23.         while (file)
  24.         {
  25.                 std::getline(file, line);
  26.                 if(line.size() > 5)
  27.                 {
  28.  
  29.                         data.push_back(std::stoi(line));
  30.                 }
  31.         }
  32.  
  33.         file.close();
  34.         std::cout << "data has been read. vector length: " << data.size() << '\n';
  35.  
  36.         int count = 0;
  37.  
  38.         for(unsigned long  int i = 0; i < data.size(); i++)
  39.         {
  40.  
  41.                 std::cout << i << " iter\n";
  42.                 uint64_t num = data[i];
  43.                 mpz_t res;
  44.                 mpz_init(res);
  45.                 mpz_ui_pow_ui(res, 2, num);
  46.                 mpz_sub_ui(res, res, 1);
  47.                 std::cout << "start\n";
  48.                 int is_prime = mpz_probab_prime_p(res, 5);
  49.                 std::cout << "stop\n";
  50.                 if(is_prime == 2)
  51.                 {
  52.                         std::cout << "for sure prime: exp: " << num << '\n';
  53.                 }
  54.                 else if (is_prime == 1)
  55.                 {
  56.                         std::cout <<" maybe prime: exp: " << num << '\n';
  57.                 }
  58.         }
  59. }
  60.  
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement