Cod sursa(job #2347410)

Utilizator tester_100Alin Barosanu tester_100 Data 18 februarie 2019 19:31:19
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
#define nmax 100005

using namespace std;

typedef pair<int, int> pii;


map<int, bool> ciur;

int N, M;

inline void Solve(int N) {
    int sol = 0;
    for(int i = 2; i <= N; ++i) {
        if (!ciur[i]) {
            ++sol;
            for (int j = i*1LL*i; j <= N; j += i) {
                ciur[j] = true;
            }
        }
    }
//    for(int i = 2; i <= 100; ++i) {
//        cout << i <<" "<< ciur[i]<<"\n";
//    }
    cout << sol << "\n";
}

int main(){
    int i;
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
//    ios::sync_with_stdio(false);
    cin >> N;
    Solve(N);
    return 0;
}