Cod sursa(job #1917643)

Utilizator bajiBajan Vlad baji Data 9 martie 2017 12:42:25
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");

int n, v[2001],i,j, nr=0;

bool prim(int k){
  int j, ok=1;
  for(j=1;j<=k/2 && ok==1;j++)
    if(k%j==0)
        ok=0;
  return 1;
}

void completeaza(int k){
  int r;
  r=k;
  while(k<=n)
  {
      v[k]=1;
      k=k+r;
  }
}

int main()
{
   fin>>n;
    for(i=2;i<=n;i++)
     if(v[i]==0)
      {
       if(prim(i))
         {
          nr++;
          completeaza(i);
         }
      }
  fout<<nr;
    return 0;
}