Cod sursa(job #1855041)

Utilizator caesar2001Stoica 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;
}