Cod sursa(job #1805218)

Utilizator PondorastiAlex Turcanu Pondorasti Data 13 noiembrie 2016 15:52:23
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;
bool p[2000005];
int prim(int n)
{
    if(p[n]==0)
        return true;
    else
        return false;
}
void ciur(int n)
{
    for(int i=4;i<=n;i=i+2)
        p[i]=1;
    for(int d=3;d*d<=n;d=d+2)
        for(int d2=d*d;d2<=n;d2=d2+d2)
        p[d2]=1;
}
int main()
{
    ifstream cin("ciur.in");
    ofstream cout("ciur.out");
    int n,nr=1;
    cin>>n;
    ciur(n);
    for(int i=3;i<=n;i=i+2)
    if(prim(i))
        nr++;
    cout<<nr;
    return 0;
}