Cod sursa(job #1893385)

Utilizator darkviper17Dark Viper darkviper17 Data 25 februarie 2017 17:38:38
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int MAX=100001;
int n;
bool v[MAX];
long long x[MAX];
void ciur()
{
   int i, j;
   for(i=2; i<n; i+=2)
   {
       x[i]=2;
       for(i=3; i<n; i+=2)
       {
          if(!v[i])
          {
            x[i]=i;
              for(j=1; (j*i)<n; j+=2)
              {
                  if(!v[j*i]) v[j*i]=true, x[j*i]=i;
              }
          }
       }
   }
}
int main() {
    int i, k=1;
    fin>>n;
    ciur();
    for(i=1; i<=n; i++) if(x[i]>0&& x[i]!=3) k++;
    fout<<k;
    return 0;
}