Cod sursa(job #1855041)
Utilizator | Stoica Alexandru caesar2001 | Data | 23 ianuarie 2017 13:34:28 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <cstdio>
#include <bitset>
FILE *in,*out;
using namespace std;
bitset <2000001> c;
int main()
{
in = fopen("ciur.in","r");
out = fopen("ciur.out","w");
int n,nr = 0;
fscanf(in,"%d",&n);
for(int i = 2;i*i <= n;i ++)
{
if(!c[i])
{
for(int j = i*i; j <= n;j +=i)
{
c[j] = 1;
}
}
}
for(int i = 1;i <= n; i++)
if(!c[i])
nr ++;
fprintf(out,"%d",nr-1);
return 0;
}