Cod sursa(job #855695)

Utilizator romykPrehari Romica romyk Data 15 ianuarie 2013 15:15:10
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <stdbool.h>
#define MAXSIZE 20000000
long long i,j,n,i1,i2,m=2,i22,i11;
bool a[MAXSIZE];
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%i",&n);
    for(i=6;i<n;i+=6)
    {
        i1=i-1;
        i2=i+1;
        if(!a[i1])
        {
            m++;i11=i1*6;
            for(j=i1;j<=n;j+=i11)
                a[j]=1;
                for(j=i1*i1;j<=n;j+=i11)
                    a[j]=1;}
        if(!a[i2])
        {
            m++;i22=i2*6;
            for(j=i2;j<=n;j+=i22)
                a[j]=1;
    }}
    printf("%i",m);
    return 0;
}