Cod sursa(job #830528)
Utilizator | sebastian ghetu sebax538 | Data | 7 decembrie 2012 00:28:10 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
#include <stdlib.h>
char a[2000001];
int i,N;
int main(){
int x;
int cnt=0;
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
i=0;
scanf("%d",&N);
//for (i=4;i<N;i+=2) a[i]=1;
for (i=3;i<N;i+=2){
a[i+1]=1;
x=i*2;
while (x<N){
a[x]=1;
x+=i;
}
//if (a[i]==0) cnt++;
}
for (i=2;i<N;i++){
if (a[i]==0) cnt++;
}
//cnt++;
printf("%d",cnt);
return 0;
}