Cod sursa(job #1466084)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 28 iulie 2015 17:03:37
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <math.h>
#define fin "ciur.in"
#define fou "ciur.out"
#define Max 2000010
using namespace std;
ifstream t1(fin);
ofstream t2(fou);
int n,nrprim;
bool ciurul[Max];

void ciur(int x)
{
    int i;
    for(i=x;i<=n/x;i++) ciurul[i*x]=1;
}

int main()
{
    int i;
    t1>>n;
    ciurul[1]=1;
    nrprim=1; ciur(2);
    for(i=3;i<=n;i+=2)
    {
        if(ciurul[i]!=1) { nrprim++; ciur(i); }
    }
    t2<<nrprim<<'\n';
    t1.close();
    t2.close();
    return 0;
}