Mai intai trebuie sa te autentifici.
Cod sursa(job #180368)
Utilizator | Data | 16 aprilie 2008 22:30:31 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
FILE *f1,*f2;
long a,b,i,j,n,v[100000];
int main(){
f1=fopen("ciur.in","r");
f2=fopen("ciur.out","w");
fscanf(f1,"%ld",&n);
a=3;
j=2;
v[1]=2;
v[2]=3;
while(a<n){
a++;
while(a%2==0||a%3==0){
a++;
}
j++;
v[j]=a;
}
a=0;
b=j;
while(v[b]>n){
b--;
}
for(i=1;i<=b;i++){
if(v[i]>0){
a++;
for(j=i+1;j<=b;j++){
if(v[j]%v[i]==0){
v[j]=-1;
}
}
}
}
fprintf(f2,"%ld",a);
return 0;
}