Advertisement
Tobiasz931

SPOJ Do odpowiedzi!

Jul 26th, 2013
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6. int main() {
  7.     vector<short int> v;
  8.     int bogdan;
  9.     int tab[10000];
  10.     tab[0]=2;
  11.     tab[1]=3;
  12.     int it=2;
  13.     for (int i=2; it<=10000; i++)
  14.         for (int j=2; j*j<=i; j++)
  15.         {
  16.             if (i % j == 0)
  17.                 break;
  18.             else if (j+1 > sqrt((float)i)) {
  19.                 //cout << i << ' ';
  20.                 tab[it]=i;
  21.                 it++;
  22.             }
  23.         }
  24.     int n, m;
  25.     cin >> n;
  26.     for(int testy=0; testy<n; testy++){
  27.         cin >> m;
  28.         v.clear();
  29.         for(int i=1; i<=m; i++){
  30.             v.push_back(i);
  31.         }
  32.         bogdan=0;
  33.         for(int i=0; i<m-1; i++){
  34.             bogdan+=tab[i];
  35.             bogdan=bogdan%v.size();
  36.             if(bogdan==0)
  37.                 v.erase(v.begin()+v.size()-1);
  38.             else{
  39.                 v.erase(v.begin()+bogdan-1);
  40.                 bogdan--;
  41.             }
  42.         }
  43.         cout << v.at(0) << endl;
  44.     }
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement