Cod sursa(job #1580113)

Utilizator Alex.PopAlex Pop Alex.Pop Data 25 ianuarie 2016 16:20:27
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;

int n;
int i = 0,j=0,p=0,v[2000000],nr = 1;
ifstream in("ciur.in");
ofstream out("ciur.out");

int main()

{

    in>>n;
    for(i=2;i<n;i++){
        v[i-2] = i;
    }

    for(i=2;i<n-2;i = i + 2){
        v[i] = -1;
    }

    for(i=1;i<n-2;i++){
        if(v[i] != -1){
            for(j=2*v[i] - 2;j<n-2;j = j + v[i]){
                v[j] = -1;
            }
            nr++;
        }
    }
    out<<nr;

}