Cod sursa(job #863814)

Utilizator lehman97Dimulescu David lehman97 Data 24 ianuarie 2013 08:50:21
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <stdio.h>
#include <bitset>

using namespace std;

FILE *f=fopen("ciur.in","r");
FILE *g=fopen("ciur.out","w");

int b[100000],i,k,n;
bitset <2000000> prim;



void ciur()
{
    int i,j;
    for(i=2;i<=1415;i++)
    if(prim[i]==0)
    {
        b[++b[0]]=i;
        for(j=i*2;j<=2000000;j+=i)
        prim[j]=1;
    }
    for(i=1415;i<=2000000;i+=2)
        if(prim[i]==0) b[++b[0]]=i;
}


int main()
{

    ciur();
    fscanf(f,"%d",&n);
    k=0;
    for(i=1;i<=b[0];i++)
    if(b[i]<=n)k++; else break;
    fprintf(g,"%d",k);
    fclose(g);
    return 0;
}