Cod sursa(job #783447)

Utilizator al.mocanuAlexandru Mocanu al.mocanu Data 2 septembrie 2012 21:22:24
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;

ifstream f("ciur.in");
ofstream g("ciur.out");

int n,nr,x,v[2000000],i,t,y=1;

int main()
{f>>n;
for(i=1;i<=n-1;i++)
v[i]=i+1;

x=2;
nr=1;
t=2;

while(y==1)
{for(i=t;i<=n-1;i++)
if(v[i]%x==0)
v[i]=0;

i=t;
while(v[i]==0&&i<n-1)
i++;

if(v[n-1]==0&&i==n-1)
y=0;

else
{if(i<n-1)
{t=i+1;
x=v[i];
nr++;
}

else
{nr++;
y=0;}
}
}

g<<nr;

    return 0;
}