Cod sursa(job #882896)

Utilizator Stefanescu_MihaiStefanescu Mihai-Nicolae Stefanescu_Mihai Data 19 februarie 2013 15:51:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <math.h>
#include <bitset>
using namespace std;
bitset <2000003>a;
int main()
{
    unsigned int k,m,y,i;
    double n,ac;
    ifstream f1("ciur.in");
    f1>>n;k=n;
    m=n-n/2;
    if (k%2)
        m++;
    ac=sqrt(n);
    for (y=3;y<=ac;y=y+2)
    if (!a[y])
    for (i=3*y;i<=n;i+=2*y)
    if ((!a[i])||(!i%2))
    {a[i]=1; m--;}
    ofstream f2("ciur.out");
    f2<<m;
    return 0;
}