Cod sursa(job #996715)
Utilizator | Ulmeanu Vlad vlad.ulmeanu30 | Data | 12 septembrie 2013 15:43:51 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include<stdio.h>
char v[2000000];
FILE *f, *g;
int main()
{
int n;
f=fopen("ciur.in","r");
g=fopen("ciur.out","w");
fscanf(f,"%d",&n);
ciur(n);
fclose(f);
fclose(g);
return 0;
}
void ciur (int x)
{
int i2=4,i3=6,i5=10,i7=14,i,nr=0;
while(i2<=x)
{
v[i2]=1;
i2+=2;
}
while(i3<=x)
{
v[i3]=1;
i3+=3;
}
while(i5<=x)
{
v[i5]=1;
i5+=2;
}
while(i7<=x)
{
v[i7]=1;
i7+=7;
}
for(i=2;i<=x;i++)
if(v[i]==0)
nr++;
fprintf(g,"%d\n",nr);
}