Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5.     long long left = 1000000000, right = 10000000000;
  6.     long long k = 0, i, j, n;
  7.  
  8.     bool mask [17];
  9.     for(i = 0; i < 17; i++)
  10.         mask[i] = false;
  11.  
  12.     for(i = (left % 2) == 0 ? 0 : 2 - (left % 2); i < 17; i += 2)
  13.         mask[i] = true;
  14.     for(i = (left % 3) == 0 ? 0 : 3 - (left % 3); i < 17; i += 3)
  15.         mask[i] = true;
  16.     for(i = (left % 5) == 0 ? 0 : 5 - (left % 5); i < 17; i += 5)
  17.         mask[i] = true;
  18.     for(i = (left % 7) == 0 ? 0 : 7 - (left % 7); i < 17; i += 7)
  19.         mask[i] = true;
  20.  
  21.     long long imask [18];
  22.     for(i = 0; i < 17; i++)
  23.         if(!mask[i])
  24.             imask[k] = i + left, k = k + 1;
  25.     imask[k] = -1;
  26.  
  27.     bool mans, bans;
  28.     for(long long n = left; n <= right; n++){
  29.         bans = true;
  30.         for(i = 0; i < 17; i++)
  31.             mask[i] = false;
  32.  
  33.         for(i = 0; i < k - 1; i++){
  34.             if(mask[i])
  35.                 continue;
  36.  
  37.             mans = false;
  38.             for(j = i + 1; j < k; j++)
  39.                 if(__gcd(imask[i], imask[j]) > 1){
  40.                     mans = true;
  41.                     break;
  42.                 }
  43.  
  44.             if(mans){
  45.                 mask[j] = true;
  46.             } else {
  47.                 bans = false;
  48.                 break;
  49.             }
  50.         }
  51.  
  52.         if(bans){
  53.             cout << n << endl;
  54.             break;
  55.         }
  56.  
  57.         if(imask[0] == n){
  58.             for(i = 0; i < k - 1; i++)
  59.                 imask[i] = imask[i + 1];
  60.             k--;
  61.         }
  62.         if(((n + 17) % 2) && ((n + 17) % 3) && ((n + 17) % 5) && ((n + 17) % 7)){
  63.             k = k + 1;
  64.             imask[k - 1] = n + 17;
  65.         }
  66.     }
  67.  
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement