Cod sursa(job #262203)
Utilizator | Elma Moonbeam moonbeam | Data | 19 februarie 2009 09:56:45 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
#define N 2000001
char c[N];
long long n;
void ciur()
{
int d=2;
while (d*d<=n)
{
if (!c[d])
for (int i=d*d; i<=n; i+=d)
c[i]=1;++d;
}
long long num=0;
for (int i=2; i<=n; ++i) if (!c[i]) ++num;
printf("%lld",num);
}
void citire()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%lld",&n);
}
int main()
{
citire();
ciur();
return 0;
}