Cod sursa(job #883508)
| Utilizator | Data | 20 februarie 2013 08:24:48 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
using namespace std;
//#define CONSOLE
int main() {
unsigned long int n, i, j, c = 1;
#ifdef CONSOLE
cin>>n;
#else
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>n;
#endif
unsigned char numere[n+1];
for (i = 0; i <= n+1; i++) numere[i] = 0;
for (i = 3; i <= n; i = i + 2) {
if (numere[i] == 0) {
c++;
for (j = i*i; j <= n; j = j+i) {
numere[j] = 1;
}
}
}
#ifdef CONSOLE
cout<<c;
#else
fout<<c;
#endif
return 0;
}
