Cod sursa(job #1247398)
| Utilizator | Data | 22 octombrie 2014 18:39:42 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
int ciur[2000000], c=0;
int main()
{
ifstream f("ciur.in", ios::in);
ofstream f2("ciur.out", ios::out );
int N;
f >> N;
for (int j=4; j<N+1; j+=2){
ciur[j]=1;
c++;
}
for (int i=3; i*i<N+1; i+=2)
if (!ciur[i]){
c++;
for (int j=i*i; j<N+1; j+= 2*i) {
ciur[j] = 1;
}
}
c=N-(c+1);
f2 << c;
f.close();
f2.close();
return 0;
}
