Cod sursa(job #1498711)

Utilizator mihaitheodorMihai Theodor Iliant mihaitheodor Data 8 octombrie 2015 22:55:43
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<iostream>
using namespace std;
int main ()
{
    long N,k;
    bool v[2000001];//ia doua valori vectorul, de aceea se pune bool
    k=0;
    cin>>N;
    for(int i=2;i<=N;i++)//initializez cu 1 fiecare membru al vectorului
    {
        v[i]=1;
    }
    for(int i=2;i<=N;i++)//cand e diferit de 0, k creste cu 1
    {
        if (v[i]!=0)
        {
            k++;
            for(int j=2*i;j<=N;j+=i)//cand v[i] nu e 0, toti multipli lui ii transform in 0, pt ca ei clar nu sunt primi
            {
                v[j]=0;//aici se aplica transformarea in 0, si apoi se ia urmatorul i...............
            }
        }
    }
    
    cout<<k;
}