Cod sursa(job #626516)
| Utilizator | Data | 27 octombrie 2011 14:25:37 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
#define nmax 2000001
//numere prime mai mici ca nmaxS
char v[nmax];
int main(){
long int i=2,j,N,nr=0;
FILE *fin=fopen("ciur.in","r");
fscanf(fin,"%ld",&N);
//toate nr prime m mici ca N
FILE *fout=fopen("ciur.out","w");
while(i<=N){
if(!v[i]){
//deci i e numar prim
//fprintf(fout,"%d ",i);
nr++;
//notez in tot vectorul
for(j=i;j<=N;j+=i)
v[j]=1;
}
i++;
}
fprintf(fout,"%ld ",nr);
return 0;
}
