Cod sursa(job #3192176)
Utilizator | Dominik domdiridomdidom | Data | 11 ianuarie 2024 18:15:48 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
int main(){
int utolsoSzam, primSzamok = 0;
std::ifstream bem("ciur.in");
bem >> utolsoSzam;
bem.close();
bool *primSzita = new bool[utolsoSzam];
for(int i = 2; i < utolsoSzam; i++){
if(primSzita[i] == 0){
for(int j = 2; i * j < utolsoSzam; j++){
primSzita[i * j] = 1;
}
}
}
for(int i = 2; i < utolsoSzam; i++){
if(primSzita[i] == 0){
primSzamok++;
}
}
std::ofstream kim("ciur.out");
kim << primSzamok;
kim.close();
delete[] primSzita;
return 0;
}