Cod sursa(job #634151)
Utilizator | Vladarean Maria ml.vladarean | Data | 15 noiembrie 2011 18:58:53 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int ciur[2000001],N,nr;
void sol()
{
int i=2,j;
for(j=2;j<=N;j++)
ciur[j]=j;
while(i<=N/2)
{
if(ciur[i]!=0)
{
nr++;
for(j=i;j<=N;j+=i)
{
if(ciur[j]!=0)
ciur[j]=0;
}
i++;
}
else
i++;
}
for(j=N/2+1;j<=N;j++)
if(ciur[j]!=0)
nr++;
}
int main()
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>N;
fin.close();
sol();
fout<<nr;
fout.close();
return 0;
}