Cod sursa(job #1718596)

Utilizator Coroian_DavidCoroian David Coroian_David Data 18 iunie 2016 14:13:06
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>

#include <cstdio>

using namespace std;

FILE *f, *g;

bool p[2000001];

int n, k;

void ciur(int n)
{
    int i,j;

    p[0] = p[1] = 1;

    for(i = 4; i <= n; i += 2)
        p[i] = 1;

    for(i = 3; i <= n; i += 2)
        if(p[i] == 0)
        {
            for(j = i * i; j <= n; j += i * 2)
                p[j] = 1;
        }

    k = 1;

    for(i = 3; i <= n; i ++)
        if(p[i] == 0)
            k ++;
}

int main()
{
    f = fopen("ciur.in", "r");

    fscanf(f, "%d", &n);

    fclose(f);

    ciur(n);

    g = fopen("ciur.out", "w");

    fprintf(g, "%d", k);

    fclose(g);

    return 0;
}