Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.70 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define IN "ploaie.in"
  5. #define OUT "ploaie.out"
  6.  
  7. #define MAX_N 2000001
  8.  
  9. bool sieve[MAX_N];
  10.  
  11. int main() {
  12.   FILE *fin, *fout;
  13.   fin = fopen(IN, "r");
  14.   fout = fopen(OUT, "w");
  15.  
  16.   for (int i = 2; i * i < MAX_N; ++i)
  17.     if (!sieve[i])
  18.       for (int j = i * i; j < MAX_N; j += i)
  19.         sieve[j] = true;
  20.  
  21.   int n;
  22.   fscanf(fin, "%d", &n);
  23.  
  24.   int lastPrime = 2, sum, sqSum;
  25.   for (int i = 3; i < MAX_N && n > 0; ++i)
  26.     if (!sieve[i]) {
  27.       sum = lastPrime + i;
  28.       sqSum = sqrt(sum);
  29.  
  30.       if (sqSum * sqSum == sum) --n;
  31.  
  32.       lastPrime = i;
  33.     }
  34.  
  35.   fprintf(fout, "%d\n", sum);
  36.  
  37.   fclose(fin);
  38.   fclose(fout);
  39.   return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement