Cod sursa(job #2251087)

Utilizator ClaudiuBotezatuClaudiu Botezatu ClaudiuBotezatu Data 1 octombrie 2018 09:38:35
Problema Ciurul lui Eratosthenes Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out") ;

int main()
{
    int n,i,j,maxi,ct;
    bool c[2000000];
    fin>>n;
    if(n<=2)
    {
        fout<<1;
        return 0;
    }
    else
    {
        maxi=n;
        c[2]=true;
        for(i=3; i<=n; i+=2)
            c[i]=true;
    }
    for(i=3; i*i<=maxi; i++)
        {if(c[i]==true)
            for(j=3*i; j<=maxi; j=j+2*i)
                c[j]=false;}
    ct=0;
    for(i=1; i<=n; ++i)
        if(c[i]==true) ct++;
    fout<<ct;
    return 0;
}