読者です 読者をやめる 読者になる 読者になる

Tamflexの貯蔵庫

やる気のない備忘録

codeIQ 1621

contest contest-codeIQ language language-c++

なんとなくlower_boundでやりたかった.

vector<ll> p;

void init()
{
  p.resize(10000);
  fill(p.begin(),p.end(),1LL<<30);
  int m = 0; p[m++] = 2;
  for(int i=3;i<=100000;i+=2)
  {
    bool flag = true;
    for(int j=0;p[j]*p[j]<=i;j++)
    {
      if(i%p[j]==0)
      {
        flag = false;
        break;
      }
    }
    if(flag) p[m++] = i;
  }
}

void solve()
{
  init();
  int d;
  while(cin >> d)
  {
    int ans = lower_bound(p.begin(),p.end(),d)-p.begin();
    printf("%d\n",ans);
  }
}

int main()
{
  solve();
  return 0;
}