Cod sursa(job #1991070)
| Utilizator | Data | 14 iunie 2017 21:25:37 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
void SieveOfEratosthenes(int n)
{int c=0;
bool prime[n+1];
memset(prime, true, sizeof(prime));
for (int p=2; p*p<=n; p++)
{
if (prime[p] == true)
{
for (int i=p*2; i<=n; i += p)
prime[i] = false;
}
}
for (int p=2; p<=n; p++)
if (prime[p])
c++;
g<<c;
}
int main()
{
int n;
f>>n;
SieveOfEratosthenes(n);
return 0;
}
