Cod sursa(job #1314356)

Utilizator roberta9533Pavel Roberta roberta9533 Data 11 ianuarie 2015 19:46:04
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include<fstream>
#define maxn 2000001
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");

long prim[maxn],n;
int i,k=0;

void eratostene(int n)
{
    for(int p=2;p<n;p++)
    {
        if(prim[p]==0) prim[p]=1;
        int c=2;
        int mul=p*c;
        while(mul<=n)
        {
            prim[mul]=-1;
            c++;
            mul=p*c;
        }
    }
}

int main()
{
    f>>n;
    eratostene(n);
    for(int i=1;i<n;i++)
        if(prim[i]==1) k++;
            g<<k;

    return 0;
}