Cod sursa(job #996713)

Utilizator vlad.ulmeanu30Ulmeanu Vlad vlad.ulmeanu30 Data 12 septembrie 2013 15:40:07
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-1);
}