Cod sursa(job #2730568)
| Utilizator | Data | 26 martie 2021 15:59:32 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
#include <vector>
using namespace std;
int main()
{
bool sieve[2000001];
long int n,totalprime;
ifstream f;
f.open("ciur.in");
f>>n;
totalprime = n-1;
for(long int i=0; i<=n; i++)
sieve[i] = false;
f.close();
for(long int i=2; i<=n; i++)
if(!sieve[i])
{
for(long int j=2*i; j<=n; j = j+i)
if(!sieve[j])
{
totalprime = totalprime - 1;
sieve[j] = true;
}
}
ofstream g;
g.open("ciur.out");
g<<totalprime;
g.close();
return 0;
}
