Cod sursa(job #1000921)

Utilizator alexx.cosmaCosma Cristian Alexandru alexx.cosma Data 23 septembrie 2013 23:06:09
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

const int maxN = 2000000;

int ns[maxN];

int main()
{
    int n;
    fin >> n;
    double sqrtn = sqrt(n);
    for(int i=2; i<sqrtn; i++)
    {
        if(ns[i]==0)
            for (int j = i*i; j<n; j+=i)
            {
                ns[j]++;
            }
    }

    int nr=0;

    for(int i=0;i<maxN;i++)
        if(ns[i] != 0)
            nr++;

    fout << nr;

    return 0;
}