Cod sursa(job #2044125)

Utilizator cezarinfoTulceanu Cezar cezarinfo Data 20 octombrie 2017 22:11:06
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
using namespace std;
FILE*in=fopen("ciur.in","r");
FILE*out=fopen("ciur.out","w");
bool v[2000007];
int n,ct=0;
int main()
{
    v[1]=1;
    fscanf(in,"%d",&n);
    if(n>=2)
    {
        ct++;
    }
    for(int i=4;i<=n;i+=2)
    {
        v[i] = 1;
    }
    for(int i=3;i<=n;i+=2)
    {
        if(v[i] == 0)
        {
            ++ct;
            if(i*i<=n)
            {
                for(int j=i*i;j<=n;j=j+i)
                {
                    v[j]=1;
                }
            }
        }
    }
    fprintf(out, "%d", ct);
}