Cod sursa(job #1728586)

Utilizator Mihaibv13Mihai Stoian Mihaibv13 Data 13 iulie 2016 11:42:00
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
/**
*/
#include <cstdio>
using namespace std;

char ciur[250001];

int main()
{
    FILE *f=fopen("ciur.in","r");
    int n,nc,i,np=0,ind;
    fscanf(f,"%d",&n);
    fclose(f);
    nc=2;
    while(1)
    {
        while((ciur[nc/8]&(1<<(nc%8)))!=0 && nc<=n)nc++;
        if(nc>n)break;
        i=2;
        while(i*nc<=n)
        {
            ind=i*nc;
            ciur[ind/8]=ciur[ind/8]|(1<<(ind%8));
            i++;
        }
        np++;
        nc++;
    }
    f=fopen("ciur.out","w");
    fprintf(f,"%d",np);
    return 0;
}