Cod sursa(job #1851365)

Utilizator AlexTudorAlex Brinza AlexTudor Data 19 ianuarie 2017 17:39:11
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
#define nmax 2000005
using namespace std;

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

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