Cod sursa(job #622065)
| Utilizator | Data | 17 octombrie 2011 12:52:37 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<cstdio>
using namespace std;
int v[2000001];
int prim(int X)
{
int i;
for (i = 2; i * i <= X; ++i)
if (X % i == 0)
return 0;
return 1;
}
int main(){
int n,nr=0,j,i;
FILE * pFile;
pFile=fopen("ciur.in","r");
fscanf(pFile,"%d",&n);
for(i=2;i<=n;i++){
if(v[i]==0){
if(prim(i))
for(j=i;j<=n;j++)
if(j%i==0)
v[j]=-1;
v[i]=1;}
if(v[i]==1)nr++;
}
pFile=fopen("ciur.out","w");
fprintf(pFile,"%d",nr);
return 0;
}
