Cod sursa(job #2536351)
| Utilizator | Data | 1 februarie 2020 20:34:18 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
#define NMAX 2000000
using namespace std;
bool v[NMAX];
int main()
{
int i , j , k = 0 , n;
ifstream fin("ciur.in");
fin>>n;
fin.close();
v[0] = v[1] = 1;
for(i = 4 ; i <= n ; i += 2) {
v[i] = 1;
}
for(i = 3 ; i <= n ; i += 2){
if(v[i] == 0) {
for(j = i * i ; j <= n ; j += i) {
v[j] = 1;
}
}
}
for(i = 1 ; i <= n ; i++) {
if(v[i] == 0 ) {
k++;
}
}
ofstream fout("ciur.out");
fout<<k;
fout.close();
return 0;
}
