Cod sursa(job #2634704)
| Utilizator | Data | 12 iulie 2020 01:12:57 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
#define NMAX 2000005
using namespace std;
int v[NMAX/2] = { 0 };
int main()
{
FILE* fin, * fout;
fin = fopen("ciur.in", "r");
fout = fopen("ciur.out", "w");
int n, nr = 1;
fscanf(fin, "%i", &n);
for (int i = 3;i * i <= n;i += 2) {
if (v[i/2] == 0) {
for (int j = i * i;j <= n;j += i)
v[j/2] = 1;
}
}
for (int i = 3;i <= n;i += 2)
if (v[i/2] == 0)
++nr;
fprintf(fout,"%i", nr);
printf("%i", nr);
return 0;
}