Cod sursa(job #902903)

Utilizator knight11Adrian Paunescu knight11 Data 1 martie 2013 17:23:38
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<cstdio>
#include<cstdlib>
#include<cstring>
#define maxdim 2000000
#define fin "ciur.in"
#define fies "ciur.out"
using namespace std;
int n;
bool prime[maxdim],ok;
int ciur(int n)
{
    int i,j,nr=0;
    prime[0]=prime[1]=false;
    for(i=2;i<=n;i++)
    {
        prime[i]=true;
    }
    for(i=2;i<=n;i++)
    {
        if(prime[i]==true)
        {
            nr++;
            for(j=i*i;j<=n;j=j+i)
            {
                prime[j]=0;
            }
        }
    }
    return nr;
}
int main()
{

    freopen(fin,"r",stdin);
    freopen(fies,"w",stdout);
    scanf("%i",&n);
    printf("%i\n",ciur(n));
    return 0;
}