Cod sursa(job #1651190)

Utilizator George97George Linut George97 Data 12 martie 2016 17:34:50
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;
/*
int prim(long long n)
{
    int ok;
    ok=1;
    int i;
    if (n<2)
    {
        return 0;
    }
    for (i=2;i<=sqrt(n);i++)
    {
        if (n % i==0)
        {
            ok=0;
        }
    }
    return ok;
}
*/

void eratostene(long long n,char v[])
{
    int i;
    v[1]=0;
    for (i=2;i<=n;i++)
    {
        v[i]=1;
    }
    for (i=2;i<=n;i++)
    {
        if (v[i]==1)
        {


                int j;
                for (j=i+i;j<=n;j=j+i)
                {
                    v[j]=0;
                }

        }
    }
}

int main()
{
    int i,n;
    char prim[2000005];
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    eratostene(n,prim);
    int s;
    s=0;
    for (i=1;i<=n;i++)
    {
        s=s+prim[i];
    }
    printf("%d\n",s);
    return 0;
}