Cod sursa(job #767919)

Utilizator bratualexBratu Alexandru bratualex Data 15 iulie 2012 13:53:14
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <math.h>
using namespace std;

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

int main()
{
    long long n,i,a[100000],j,k;
    fin>>n;

    for(i=1;i<=n;i++)
        a[i]=i;
    for(j=2;a[j]<=sqrt(n);j++)
    {
        if (a[j]!=0)
        {
            for (k=j+1;a[k]<=n;k++)
            {
                if(a[k]%a[j]==0)
                    a[k]=0;
            }
        }
    }
    k=0;
    for(i=2;i<=n;i++)
        if ( a[i])
            k++;
    fout<<k;
    return 0;
}