Cod sursa(job #1550819)

Utilizator enacheionutEnache Ionut enacheionut Data 14 decembrie 2015 19:11:56
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>

using namespace std;

//marcam cu 1 nr prime si cu 0 pe cele neprime


int main()
{
    int N, nr_prime = 0;


    ifstream in("ciur.in");
    in>>N;
    in.close();

    int vect[N];

    //initial consideram toate nr prime
    fill(vect, vect+N, 1);

    for( int i=2; i<=N; i++ )
    {
        if( vect[i] == 1 )
        {
            nr_prime++;
            //parcurgem multiplii lui i pana la N deoarece nu sunt nr prime deci le marcam cu 0
            for( int j=2; j<=N; j++ )
            {
                vect[i*j] = 0;
            }
        }
    }

    ofstream out("ciur.out");
//    //parcurgem sirul si afisam nr ramase marcate cu 1 deci cele prime
//    for( int i=1; i<=N; i++ )
//    {
//        if( C[i] == 1 )
//        {
//            out<< i <<" ";
//        }
//    }

    out<<nr_prime;
    out.close();
    return 0;
}