Cod sursa(job #560180)
Utilizator | Data | 18 martie 2011 12:56:06 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
int v[2000000];
int prim (int x)
{
int d;
for(d=2;d<=x/2;d++)
if(x%d==0) return 0;
return 1;
}
int main()
{int i,n,j,c=0;
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
cin>>n;
for(i=2;i<=n;i++)
v[i]=1;
for(i=2;i<=n;i++)
{
if( prim(i)==1 ) for(j=i+1;j<=n;j++)
if(j%i==0) v[j]=0;
}
for(i=2;i<=n;i++)
if(v[i]==1)c=c+1;
cout<<c;
return 0;
}