Cod sursa(job #975067)

Utilizator andrettiAndretti Naiden andretti Data 18 iulie 2013 23:37:23
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
#define maxn 2000005
using namespace std;

int n,sol;
int sieve[maxn];


void solve()
{
    scanf("%d",&n);
    int i,j;
    for(i=2;i*i<=n;i++)
      if(!sieve[i])
       for(j=i;i*j<=n;j++)
        sieve[i*j]=1;

    for(i=2;i<=n;i++)
     if(!sieve[i]) sol++;
    printf("%d",sol);
}

int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);

    solve();

    fclose(stdin);
    fclose(stdout);
    return 0;
}