Cod sursa(job #891405)
| Utilizator | Data | 25 februarie 2013 16:35:16 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
#include <string.h>
#define nmax 2000005
using namespace std;
bool prim[nmax];
int n;
int main() {
ifstream f("ciur.in");
ofstream g("ciur.out");
f>>n;
for(int i = 2; i <= n; i++) prim[i] = true;
for(int i = 2; i*i <= n; i++) {
if(prim[i])
for(int j = 2*i; j <= n; j += i) prim[j] = false;
}
int sol = 0;
for(int i=2; i<=n; i++) sol += prim[i];
g<<sol<<"\n";
return 0;
}
