Cod sursa(job #1762929)

Utilizator PondorastiAlex Turcanu Pondorasti Data 24 septembrie 2016 11:17:39
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 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;
    int d,d2;
    for(int d=3;d*d<=n;d=d+2)
        for(d2=d*d;d2<=n;d2=d2+d)
        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;
}