Cod sursa(job #854560)

Utilizator romykPrehari Romica romyk Data 13 ianuarie 2013 18:56:20
Problema Ciurul lui Eratosthenes Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<iostream>
#include<fstream>
using namespace std;
fstream f("ciur.in",ios::in);
fstream g("ciur.out",ios::out);
long long i,j,n,i1,m=3;
bool a[10000000];

int main()
{
    f>>n;
  if(n<7)
   {
       if(n>=5&&n<7)
       g<<3;
       else
        if(n<5&&n>=3)
        g<<2;
        else
        if(n<3&&n>=2)
        g<<1;
        else g<<0;
   }
  else
    {for(i=6;i<=n;i+=6)
    {  for(i1=i-1;i1<=i+1;i1+=2)
        if(i1%5!=0&&a[i1]!=1)
    {  a[i1]=1;m++;

       for(j=i1;j<=n;j+=i1*6)
       if(j!=i1)
       a[j]=1;

       if(i1%6==5&&i1<n/i1)
       for(j=i1*i1;j<=n;j+=i1*6)
       a[j]=1;
    }
    }
    g<<m;}
    return 0;
}