Cod sursa(job #1659293)

Utilizator RobertStefanescuRobert Stefanescu RobertStefanescu Data 22 martie 2016 09:52:26
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;
int t[2000001];

int main()
{
    ifstream cin ("ciur.in");
    ofstream cout ("ciur.out");
    int n,p,i,j,nr=0;
    cin >> n;
    p=2;


    for (i=p+2;i<=n;i=i+p)
    {
        t[i]=1;
    }
    int lim=sqrt(n);

    for (p=3;p<=lim;p=p+2)
    {
        if (t[p]==0)
        {
            for (j=p+p;j<n;j=j+p)
                t[j]=1;
        }


    }

    for (i=2;i<=n;i++)
    {
        if (t[i]==0)
            nr++;
    }
    cout << nr;

    return 0;
}