Cod sursa(job #2829135)
| Utilizator | Data | 8 ianuarie 2022 12:32:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
#define l 2000005
ifstream in("ciur.in");
ofstream out("ciur.out");
char sieve[l];
int cnt, n;
void ciur(){
sieve[0]=1;
sieve[1]=1;
for (int i=2; i*i<=n; ++i)
if (sieve[i] == 0)
for (int j=2; j<=n/i; ++j)
sieve[i*j]=1;
}
void numara(){
for (int i=1;i<=n;++i)
if (sieve[i] == 0)
cnt++;
}
int main()
{
in>>n;
ciur();
numara();
out<<cnt;
}