Cod sursa(job #1537883)

Utilizator CMCmasterCatalin Costescu CMCmaster Data 28 noiembrie 2015 11:35:40
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

bool c[1000];

void ciur(int n)
{
    int i,j,lim=sqrt(n);
    c[0]=c[1]=1;
    for(i=4;i<=n;i+=2) c[i]=1;
    for(i=3;i<=lim;i+=2)
     if(!c[i])
      for(j=i*i;j<=n;j+=(i<<1)) c[j]=1;
}

int main()
{
    ifstream in("ciur.in");
    ofstream out("ciur.out");
    int n,i,count=0;
    in>>n;
    ciur(n);
    for(i=0;i<=n;i++) if(!c[i]) count++;

    out<<count;

    return 0;
}