Cod sursa(job #1795624)
Utilizator | Mircea Burlacu deuceffs | Data | 2 noiembrie 2016 18:41:51 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <algorithm>
#include <fstream>
#include <cmath>
#include <string>
#include <vector>
using namespace std;
int n;
bool numz[2000002];
void ciur(int N){
for (int i = 2; i<=N; i++){
if (numz[i] == 0)
for (int d = i+i; d<=N; d+=i){
numz[d] = 1;
};
};
}
int main() {
ifstream inFile("ciur.in");
ofstream outFile("ciur.out");
int numar, cnt(0);
inFile>>numar;
ciur(numar+1);
for (int i = 2; i<= numar; i++){
if (numz[i] == 0)
cnt++;
};
outFile<<cnt;
}