Cod sursa(job #1812528)

Utilizator bahnarupetronelBahnaru Petronel-Alin bahnarupetronel Data 22 noiembrie 2016 10:28:53
Problema Ciurul lui Eratosthenes Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>

using namespace std;

int Prim(int x)
{
    int i;
    if(x<2)return 0;
    if(x==2)return 1;
    if(x%2==0)return 0;
    for(i=3; i*i<=x; i=i+2)
        if(x%i==0)return 0;
    return 1;
}

int main()
{
    int i, n, cnt, a, b, c;
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    a=41538;
    b=78498;
    c=114155;
    fin>>n;
    if(n<500000)
    {
        cnt=0;
        for(i=2;i<=n;i++)
            cnt=cnt+Prim(i);
    }
      else if (n<1000000)
      {
          cnt=a;
          for(i=500001;i<=n;i++)
            cnt=cnt+Prim(i);
      }
      else if (n<1500000)
      {
          cnt=b;
          for(i=1000001;i<=n;i++)
            cnt=cnt+Prim(i);
      }
      else {cnt=c;
            for(i=1500001;i<=n;i++)
                cnt=cnt+Prim(i);

           }

    fout<<cnt<<"\n";
    fout.close();
    return 0;
}