Cod sursa(job #539396)
| Utilizator | Data | 22 februarie 2011 21:59:14 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<fstream.h>
ifstream fin("ciur.in");
ofstream fout("ciur.out");
long n;
unsigned char a[2000000];
int main()
{
int i,j,nr,sw;nr=0;
fin>>n;
memset(a,1,sizeof(a));
a[1]=0;
/*sw=1;
for(i=2;i*i<=n;i++)
if(n%i==0)sw=0;
if(sw=0)
{*/
for(i=2;i*i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i]!=0)
if(j%i==0)a[j]=0;
for(i=1;i<=n;i++)
if(a[i])nr++;
fout<<nr;
return 0;
}