Cod sursa(job #1894072)

Utilizator BahamutLux Arcadia Bahamut Data 26 februarie 2017 14:16:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <cmath>
#include <bitset>

using namespace std;

int const NMAX=13000000;

bitset <NMAX + 5> c;
int ciur(int n) {
    int lim = (int)sqrt((double) n);

    for(int i = 3; i <= lim; i = i + 2)
    if(c[i] == 0)
        for(int j = i * i; j <= NMAX; j = j + 2 * i)
            c[j] = 1;
    int rasp = 1;
    for(int i = 3; i <= NMAX; i += 2) {
        if(c[i] == 0 && i <= n)
            ++ rasp;
    }
    printf("%d\n", rasp);
}

int main() {
    freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);
    int n, rasp = 23;
    scanf("%d", &n);
	ciur(n);

    for(int i = 1; i <= n + 100; ++ i) {
        rasp += 23;
    }

    return 0;
}