Cod sursa(job #670369)

Utilizator Tux2NicolaeTelechi Nicolae Tux2Nicolae Data 28 ianuarie 2012 21:53:02
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#include<math.h>
#define dim 2000010
int n,s; bool v[dim];

void ciur(int n){
    int i,j;
    for(i=2;i<=sqrt(n);i++){
        while(v[i]) i++;
        for(j=i*i;j<=n;j+=i){
            v[j]=1;
        }
    }
}

int main(){
    int i;
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    ciur(n);
    for(i=2;i<=n;i++) if(!v[i]) s++;
    printf("%d\n",s);
    return 0;
}