Cod sursa(job #830538)
Utilizator | Data | 7 decembrie 2012 00:47:35 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
#include <stdlib.h>
char a[2000001];
int i,N;
int main(){
int x;
int cnt=1;
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++){
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++;
//}
printf("%d",cnt);
return 0;
}